Full API Access
Webhook Testing
Test Cards
Use these card numbers to simulate successful and declined payments across different regions.- Successful Payments
- Declined Payments
- Subscription Renewal Failures
Testing Renewal Failures
Create a test subscription
4242424242424242). The initial charge should succeed and the subscription should become active.Update the payment method
4000000000000341 (Expiry: 12/34, CVV: 123) and save it.Advance the next billing date (optional)
next_billing_date to a time slightly in the future, such as one minute from now. Replace the example value below. The API rejects a next_billing_date that is not in the future, including the current time. The value must be an ISO 8601 / RFC 3339 UTC timestamp (the Z suffix is required).Verify the failure
- The renewal charge declines on the failure card
- The subscription moves to Past Due first (the grace period; the
subscription.past_duewebhook carriespast_due_ends_at), then to On-Hold when the grace period ends - A
payment.failedwebhook event is delivered - The customer can return to the Customer Portal to update the payment method and retry
Test UPI
UPI testing uses special VPA (Virtual Payment Address) identifiers that simulate different payment outcomes.Requirements for UPI Testing
- Billing country must be set to
IN - Currency must be
INR - For non-Indian merchants: Adaptive Currency must be enabled
Test Pix
Pix testing uses a test CPF (Brazilian tax ID) to simulate the QR code flow.Requirements for Pix Testing
- Billing country must be set to
BR - Currency must be
BRL
Test BNPL
Buy Now Pay Later providers have specific test data requirements.Klarna Test Data
Use these details to simulate Klarna payments in test mode:Afterpay Testing
Select Afterpay
Test successful payment
Test failed authentication
requires_customer_action to requires_payment_method.Test Digital Wallets
Apple Pay
Enable test mode
Add a card to Apple Wallet
Complete test purchase
Google Pay
Join the test card group
Enable test mode
Complete test purchase
Amazon Pay, Cash App Pay, and RevolutPay
Use your test API keys and follow the standard checkout flow. Test transactions are simulated without actual charges. For complete digital wallet documentation including domain verification for Apple Pay, see the Digital Wallets page.Test ACH Direct Debit
ACH Direct Debit can be tested in test mode by entering test bank details at checkout.Enable test mode
Set currency and billing address
USD and the billing address country to US. ACH is not offered outside this combination.Use a one-time payment
Enter the test bank details
Test Bank Accounts
Use the routing number110000000 with any of these account numbers:
Test European Methods
European payment methods (iDEAL, Bancontact, EPS, Multibanco) can be tested in test mode.Enable test mode
Set billing address
NLfor iDEALBEfor BancontactATfor EPSPTfor Multibanco
Set currency
Complete test flow
Test Multibanco
Use EUR and aPT billing address. After you click Pay, checkout shows a Multibanco voucher. In test mode, the email you enter decides the result:
succeed_immediately@example.com, wait a few seconds, and tap Done.
For the full list of test emails, see the Europe page.
Test SEPA Direct Debit IBANs
SEPA Direct Debit requires EUR and a Eurozone billing address. Use these test IBANs to force a specific outcome:Test Asia-Pacific Wallets
GCash, Alipay HK, FPS, and Touch ‘n Go are QR code payments that only appear when the billing country and currency match.Enable test mode
Set billing country and currency
Select the method and confirm
Verify the checkout behavior
Testing Best Practices
Test all payment scenarios
Test all payment scenarios
Verify webhook handling
Verify webhook handling
payment.succeeded, payment.failed, and subscription events.Use the Dodo Payments CLI to test webhooks locally:dodo wh listenforwards live test webhooks to your local serverdodo wh triggersends mock payloads for all supported webhook event types
Test on real devices
Test on real devices
Test regional methods with correct addresses
Test regional methods with correct addresses
Verify minimum amounts
Verify minimum amounts