Skip to main content
Digital wallets let customers pay with a single tap using payment methods saved on their devices. They offer higher conversion rates, stronger security through tokenization, and a streamlined checkout experience.

Supported Wallets

WalletAvailabilityCurrenciesSubscriptionsSetup Required
Apple PayGlobal (excl. India)AllYesDomain verification
Google PayGlobal (excl. India)AllYesNone
Amazon PayGlobal (excl. India)USDNoNone
Cash App PayUS onlyUSDNoNone
RevolutPayGlobalGBPNoNone
PayPal Support Paused: PayPal is temporarily unavailable for new transactions.

Apple Pay

Apple Pay allows customers to pay using cards saved in their Apple Wallet, with Face ID or Touch ID authentication.

Requirements

  • Devices: iOS 17+, iPadOS 17+, Safari 17+ on macOS
  • Protocol: HTTPS required
  • Domain: Must be verified with Apple

Domain Verification

1

Download the domain association file

2

Host the file on your domain

Upload to your server at:
https://yourdomain.com/.well-known/apple-developer-merchantid-domain-association
The file must be accessible without redirects and served with Content-Type: application/octet-stream or text/plain.
3

Request activation

Email [email protected] with:
  • Your production domain (e.g., https://yourdomain.com)
  • Confirmation that the file is hosted
We’ll verify and enable Apple Pay within 1-2 business days.
4

Test the integration

After confirmation:
  1. Open checkout on an Apple device
  2. Verify Apple Pay button appears
  3. Complete a test transaction
Apple Pay won’t appear in checkout until domain verification is complete. Plan for this when launching.

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['apple_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});

Google Pay

Google Pay allows customers to pay using cards saved in their Google account, with built-in fraud protection.

Requirements

  • Browsers: Chrome (desktop/mobile), Safari, Firefox
  • Devices: Android devices with Google Pay app
  • Settings: “Allow sites to check if you have payment methods” enabled in Chrome

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['google_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
No domain verification needed for Google Pay — it works automatically once your account is live.

Amazon Pay

Amazon Pay lets customers use their Amazon account credentials and saved payment methods for a familiar checkout experience.

Limitations

  • Currency: USD only
  • Subscriptions: Not supported
  • Region: Not available in India

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['amazon_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});

Cash App Pay

Cash App Pay enables payments from Cash App, popular among US consumers for peer-to-peer payments.

Limitations

  • Region: US only
  • Currency: USD only
  • Subscriptions: Not supported

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['cashapp', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});

RevolutPay

RevolutPay enables fast, seamless payments for Revolut users globally, leveraging their existing Revolut account balance or linked cards.

Limitations

  • Currency: GBP only
  • Subscriptions: Not supported

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['revolut_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});

Testing

Apple Pay Testing

1

Use test mode

Enable test mode in your Dodo Payments dashboard.
2

Add a card to Apple Wallet

Add a real card to your Apple Wallet. In test mode, the card won’t be charged.
3

Complete test purchase

Open checkout on an Apple device and complete the Apple Pay flow.
Apple Pay requires HTTPS. It won’t appear on localhost without proper SSL setup.

Google Pay Testing

1

Join the test card group

Join the Google Pay test card group to get test cards automatically added to your wallet.
2

Enable test mode

Use your Dodo Payments test API keys.
3

Complete test purchase

Select one of the test cards in Google Pay to complete the transaction.

Amazon Pay & Cash App Pay

Use your test API keys and follow the standard checkout flow. Test transactions will be simulated without actual charges.

SDK Support

Web SDKs

All digital wallets are fully supported in:
  • Overlay Checkout
  • Inline Checkout
  • Direct API integration

Mobile SDKs

React Native Limitation: Apple Pay, Google Pay, Cash App Pay, and UPI are not currently supported in the React Native SDK. Use the web-based checkout overlay for mobile apps that need these methods.
For native mobile support, consider:
  • Opening checkout in a WebView
  • Using the Overlay Checkout in a web context
  • Implementing platform-native Apple Pay / Google Pay SDKs separately

Best Practices

Mobile users expect Apple Pay and Google Pay. Show these options prominently on mobile checkouts.
Apple Pay requires domain verification. Don’t wait until launch day — start the process during development.
Not all customers have digital wallets. Always include credit and debit in your allowed methods.
Simulators don’t fully replicate wallet behavior. Test on actual iOS and Android devices before launch.
If a wallet isn’t available (wrong device, no cards saved), ensure other payment options are visible.

Troubleshooting

Check:
  1. Domain verified with Dodo Payments?
  2. Using HTTPS?
  3. Device is iOS 17+ / Safari 17+ / iPadOS 17+?
  4. Customer has cards in Apple Wallet?
  5. apple_pay included in allowed_payment_method_types?
Solution: Complete domain verification and ensure HTTPS. Test on a real Apple device.
Check:
  1. Using Chrome or compatible browser?
  2. Customer has cards in Google Pay?
  3. Chrome setting “Allow sites to check payment methods” enabled?
  4. google_pay included in allowed_payment_method_types?
Solution: Verify browser compatibility and customer’s Google Pay setup.
Common causes:
  • Card in wallet expired or invalid
  • Bank declined the transaction
  • Network connectivity issue
Solution: Customer should verify card in their wallet or try a different payment method.
Digital wallets only appear on compatible devices:
  • Apple Pay: Apple devices only
  • Google Pay: Chrome browser or Android devices
Solution: This is expected behavior. Ensure card fallbacks are available.