Register a dry-run provider event
Register provider request, response, or webhook payloads for pre-production validation.
Dry-run is a pre-production validation surface. It receives the API calls your integration sends to a payment provider — request, response, and webhook payloads — and correlates them with the equivalent Yuno public-API call you make in parallel with theDocumentation Index
Fetch the complete documentation index at: https://docs.y.uno/llms.txt
Use this file to discover all available pages before exploring further.
Dry-run: true header set.
Yuno then executes an automated validation pipeline that grades the quality of the public-API request against the provider payload: missing fields, shape mismatches, wrong enum values, unmapped metadata, and any other inconsistency that would cause the real payment to fail or behave differently once you go live.
How the pair works
- Your integration makes its normal call to the provider (e.g. Stripe, Adyen, dlocal).
- Your integration also calls the relevant Yuno public-API endpoint (e.g.
POST /v1/payments) with the headerDry-run: true. Yuno accepts the request, does not route it to any provider, and stores it for comparison. - Your integration calls
POST /v1/dry-run/provider-eventswith the raw provider exchange (request, response, webhook) it just performed, correlated to the samemerchant_reference. - Yuno pairs the two records by
merchant_reference+account_idand runs the validation pipeline. Results are available through the dashboard and viaGET /v1/dry-run/provider-events/{id}(read API, separate reference).
When to use it
- Pre-launch: certify your public-API integration against the provider behavior you already have working.
- Provider migrations: verify a new provider accepts the fields Yuno forwards before switching traffic.
- Regression checks: re-run dry-runs in CI to catch drift when your integration or the provider’s contract changes.
merchant_reference. See the correlation rules.POST /v1/payments accepts a Dry-run: true request header that tells Yuno to validate instead of routing. Both legs must share the same merchant_reference so validation can pair them.X-Idempotency-Key for safe retries. Same key + same payload returns the original response; same key + different payload returns 409.Correlation
merchant_referenceis always required and uniquely identifies the order on your side. Yuno uses it to resolve the event to a payment asynchronously whenpayment_idis not supplied.payment_id, if supplied, is resolved immediately. If the id is unknown for your account the request returns404 PAYMENT_NOT_FOUND.provider_id+payment_method_typeoptionally identify which integration surface the dry-run exercises (e.g.stripe+CREDIT_CARD). if omitted, Yuno uses the information from the associated payment.
Headers
Public API key. One of PUBLIC-API-KEY / PRIVATE-SECRET-KEY required.
Private secret key for server-to-server calls. One of PUBLIC-API-KEY / PRIVATE-SECRET-KEY required.
Free-form string (MAX 64). 24-hour replay window.
64Body
Merchant-assigned identifier (MAX 255; MIN 3). Unique per account.
3 - 255"ORD-12345"
1–10 HTTP exchange entries for this dry-run (MAX 10; MIN 1).
1 - 10 elements[
{
"type": "REQUEST",
"http_method": "POST",
"operation_type": "PURCHASE",
"base_url": "https://api.stripe.com",
"endpoint": "/v1/charges",
"headers": "eyBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24gfQ==",
"body": "eyBhbW91bnQ6IDIwMDAsIGN1cnJlbmN5OiAidXNkIiB9"
}
]Yuno payment UUID. If supplied, resolved immediately.
"fb9e5fa4-684c-4747-9755-9d332617f16f"
Yuno account UUID — same shape as account_id in POST /v1/payments.
"a389f417-ecd1-4355-89f5-7489564f264d"
Provider identifier. Allowed values aligned to the Yuno catalog.
STRIPE, ADYEN, CYBERSOURCE, BRAINTREE, NMI, CHECKOUT, WORLDPAY, PAYPAL, EBANX, GLOBALPAYMENTS, NUVEI, CIELO, MPGS, PRISMA, FISERV, WORLDLINE, ANTOM, ORBITAL, GOCARDLESS, AUTHORIZE_NET, SONY, CITI, EPX, HPAY, PAYSTACK, PLAID, SAFERPAY, SIKA_HEALTH, VALIDIFI, WEPAY, CARD_CONNECT, GMO_PG, MONERIS, BLUESNAP, QUICK_GATEWAY, TWENTYFOUR_HOUR_FITNESS, MERCHANT_ESOLUTIONS, NETS, FAT_ZEBRA, WINDCAVE, CHASE_MOBILITY, HELIX, ANB, AMAZON_PAY, OPAYO, IP_PAYMENTS, KLARNA, BILLDESK, WELLS_FARGO, SAGEPAY, PLANET "STRIPE"
Payment method exercised by this dry-run. Same vocabulary as payment_method.type in POST /v1/payments.
, CARD, CREDIT_CARD, CREDIT_CARD_REFERENCE_TRANSACTION, DEBIT_CARD, EPX_TOKEN, TEST_CREDIT_CARD, UPC_TOKEN_TRANSACTION, APPLE_PAY, GOOGLE_PAY, PIX, PSE, OXXO, BOLETO, ALI_PAY, AMAZON_PAY, GCASH, IDEAL, KAKAO_PAY, KLARNA, MOMO_PAY, NAVER_PAY, OVO, PAYPAL, PAYPAL_CREDIT, PAYPAY, PAZE, TOSS_PAY, UPI, VENMO, ACH, BANK_TRANSFER, CRYPTO, CASH "CREDIT_CARD"
Response
Dry-run registered
Public identifier of the dry-run registration (nano_id, 21 chars).
"drun_1209fnkw428ufwd"
Lifecycle state.
REGISTERED "REGISTERED"
"ORD-12345"
"fb9e5fa4-684c-4747-9755-9d332617f16f"
"a389f417-ecd1-4355-89f5-7489564f264d"
"STRIPE"
, CARD, CREDIT_CARD, CREDIT_CARD_REFERENCE_TRANSACTION, DEBIT_CARD, EPX_TOKEN, TEST_CREDIT_CARD, UPC_TOKEN_TRANSACTION, APPLE_PAY, GOOGLE_PAY, PIX, PSE, OXXO, BOLETO, ALI_PAY, AMAZON_PAY, GCASH, IDEAL, KAKAO_PAY, KLARNA, MOMO_PAY, NAVER_PAY, OVO, PAYPAL, PAYPAL_CREDIT, PAYPAY, PAZE, TOSS_PAY, UPI, VENMO, ACH, BANK_TRANSFER, CRYPTO, CASH "CARD"
"PURCHASE"