> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Methods

> Complete guide to payment methods supported by Dodo Payments, including credit/debit cards, digital wallets, BNPL, UPI/Rupay, European options, and how to configure them for your checkout.

Dodo Payments supports a wide range of payment methods to help you serve customers globally. Turn on new payment methods instantly — no additional contracts, integrations, or merchant accounts needed.

## Why Offer Multiple Payment Methods?

<CardGroup cols={3}>
  <Card title="Boost Conversion" icon="chart-line">
    Local methods increase sales 20-30% in target markets.
  </Card>

  <Card title="One Platform" icon="layer-group">
    All methods managed through a single API.
  </Card>

  <Card title="Smart Routing" icon="route">
    Right options shown based on location and device.
  </Card>
</CardGroup>

## How It Works

Payment methods are automatically presented to customers based on:

* **Customer Location** — Regional methods like iDEAL (Netherlands) or UPI (India) only appear for customers in those regions
* **Transaction Currency** — Payment methods are filtered by supported currencies
* **Device Type** — Apple Pay only appears on compatible Apple devices and browsers
* **Transaction Type** — Some methods don't support subscriptions or have minimum amounts

<Info>
  **Automatic Activation:** All payment methods are pre-configured and managed by Dodo Payments. No additional setup needed — they become available once your account is verified and live mode is enabled.
</Info>

## Supported Payment Methods

| Payment Method   | Supported Countries | Supported Currencies   | Subscriptions | Min Amount           |
| :--------------- | :------------------ | :--------------------- | :-----------: | :------------------- |
| **Credit Cards** | Global              | All currencies         |      Yes      | \$0.50               |
| **Debit Cards**  | Global              | All currencies         |      Yes      | \$0.50               |
| **Apple Pay**    | Global (Excl. IN)   | All currencies         |      Yes      | \$0.50               |
| **Google Pay**   | Global (Excl. IN)   | All currencies         |      Yes      | \$0.50               |
| **Amazon Pay**   | Global (Excl. IN)   | USD                    |       No      | \$0.50               |
| **Cash App Pay** | US                  | USD                    |       No      | \$0.50               |
| **Klarna**       | US, Europe          | USD, EUR, GBP + 7 more |       No      | \$50.01              |
| **Afterpay**     | US, UK              | USD, GBP               |       No      | \$50.01              |
| **Sunbit**       | US                  | USD                    |       No      | $60.00 (max $19,999) |
| **UPI**          | India               | INR                    |     Yes\*     | ₹1                   |
| **Rupay**        | India               | INR                    |     Yes\*     | ₹1                   |
| **iDEAL**        | Netherlands         | EUR                    |       No      | €0.50                |
| **Bancontact**   | Belgium             | EUR                    |       No      | €0.50                |
| **EPS**          | Austria             | EUR                    |       No      | €0.50                |
| **Multibanco**   | Portugal            | EUR                    |       No      | €0.50                |
| **RevolutPay**   | Global              | GBP                    |       No      | £0.50                |
| **Billie**       | Global              | GBP                    |       No      | £0.50                |
| **Pix**          | Brazil              | BRL                    |       No      | \$0.50               |
| **Stablecoins**  | Global (Excl. IN)   | USD                    |       No      | \$0.50               |
| **WeChat Pay**   | Global              | USD, CNY               |       No      | \$0.50               |

<Note>
  \*All Indian-issued cards (Visa, Mastercard, Rupay, etc.) and UPI support subscriptions with RBI-compliant mandates. The 48-hour processing delay applies to all Indian-issued cards and UPI. See the <a href="/features/payment-methods/india">India Payment Methods</a> page for details on mandate requirements.
</Note>

<Warning>
  **PayPal Support Paused:** PayPal is temporarily unavailable for new transactions. We'll update this page when restored.
</Warning>

## Payment Method Categories

<CardGroup cols={2}>
  <Card title="Credit & Debit Cards" icon="credit-card" href="/features/payment-methods/cards">
    Accept Visa, Mastercard, Amex, Discover, JCB, UnionPay, and regional networks like Cartes Bancaires and Interac.
  </Card>

  <Card title="Digital Wallets" icon="wallet" href="/features/payment-methods/digital-wallets">
    Apple Pay, Google Pay, Amazon Pay, Cash App Pay, and RevolutPay for fast, secure one-tap checkout.
  </Card>

  <Card title="Buy Now Pay Later" icon="calendar-days" href="/features/payment-methods/bnpl">
    Klarna, Afterpay, Billie, and Sunbit installment options to increase average order value and conversion.
  </Card>

  <Card title="India" icon="indian-rupee-sign" href="/features/payment-methods/india">
    UPI and Rupay cards with RBI-compliant subscription mandates for the Indian market.
  </Card>

  <Card title="Europe" icon="euro-sign" href="/features/payment-methods/europe">
    iDEAL (Netherlands), Bancontact (Belgium), EPS (Austria), and Multibanco (Portugal).
  </Card>

  <Card title="Pix" icon="brazilian-real-sign" href="/features/payment-methods/pix">
    Instant bank transfers for the Brazilian market via QR code or copy-paste key.
  </Card>

  <Card title="Stablecoins" icon="dollar-sign" href="/features/payment-methods/stablecoins">
    Accept stablecoin payments from customers worldwide (excluding India), billed in USD.
  </Card>

  <Card title="WeChat Pay" icon="comment-dollar" href="/features/payment-methods/wechat">
    QR code payments for Chinese customers via WeChat, supporting USD and CNY.
  </Card>
</CardGroup>

## Business-Level Payment Method Disabling

You can disable specific payment methods at the business level from your dashboard. This applies across all checkout sessions for your business, without needing to configure it per product or session.

<Steps>
  <Step title="Navigate to Settings">
    Go to **Settings > Payment Methods** in the Dodo Payments dashboard.
  </Step>

  <Step title="Disable Payment Methods">
    Toggle off any payment methods you don't want to offer to customers.
  </Step>
</Steps>

<Tip>
  Use this to disable payment methods that have high fraud rates in your region, or to limit options to only the methods your business supports operationally.
</Tip>

<Info>
  Business-level settings act as a global filter. Per-checkout restrictions via `allowed_payment_method_types` further narrow the available methods within what's enabled at the business level.
</Info>

## Per-Checkout Payment Method Configuration

In addition to business-level settings, you can restrict which methods are shown for individual checkout sessions using `allowed_payment_method_types`:

<Tabs>
  <Tab title="JavaScript">
    ```javascript theme={null}
    const session = await client.checkoutSessions.create({
      product_cart: [{ product_id: 'prod_123', quantity: 1 }],
      allowed_payment_method_types: [
        'credit',
        'debit', 
        'apple_pay',
        'google_pay'
      ],
      return_url: 'https://example.com/success'
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    session = client.checkout_sessions.create(
        product_cart=[{"product_id": "prod_123", "quantity": 1}],
        allowed_payment_method_types=[
            "credit",
            "debit",
            "apple_pay", 
            "google_pay"
        ],
        return_url="https://example.com/success"
    )
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST https://test.dodopayments.com/checkouts \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "product_cart": [{"product_id": "prod_123", "quantity": 1}],
        "allowed_payment_method_types": ["credit", "debit", "apple_pay", "google_pay"],
        "return_url": "https://example.com/success"
      }'
    ```
  </Tab>
</Tabs>

### Available Method Types

| Type                | Description                                 |
| :------------------ | :------------------------------------------ |
| `credit`            | Credit cards (Visa, Mastercard, Amex, etc.) |
| `debit`             | Debit cards                                 |
| `apple_pay`         | Apple Pay                                   |
| `google_pay`        | Google Pay                                  |
| `amazon_pay`        | Amazon Pay                                  |
| `cashapp`           | Cash App Pay                                |
| `klarna`            | Klarna BNPL                                 |
| `afterpay_clearpay` | Afterpay / Clearpay                         |
| `upi_collect`       | UPI Collect (QR code)                       |
| `ideal`             | iDEAL (Netherlands)                         |
| `bancontact_card`   | Bancontact (Belgium)                        |
| `eps`               | EPS (Austria)                               |
| `multibanco`        | Multibanco (Portugal)                       |
| `revolut_pay`       | RevolutPay                                  |
| `billie`            | Billie B2B BNPL                             |
| `sunbit`            | Sunbit BNPL (US)                            |
| `pix`               | Pix (Brazil)                                |
| `crypto`            | Stablecoins                                 |
| `wechat_pay`        | WeChat Pay                                  |

<Warning>
  Always include `credit` and `debit` as fallbacks. If all specified payment methods are unavailable for a customer, the checkout will fail.
</Warning>

### API Endpoints

<CardGroup cols={3}>
  <Card title="Checkout Sessions" icon="cart-shopping" href="/api-reference/checkout-sessions/create">
    Create checkout with allowed methods.
  </Card>

  <Card title="Payments" icon="credit-card" href="/api-reference/payments/post-payments">
    One-time payments with method filtering.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/api-reference/subscriptions/post-subscriptions">
    Recurring payments with method restrictions.
  </Card>
</CardGroup>

## Best Practices

<AccordionGroup>
  <Accordion title="Match methods to your market">
    Include regional payment methods for your target markets. iDEAL captures \~60% of online payments in the Netherlands; UPI dominates in India. Omitting these methods significantly hurts conversion.
  </Accordion>

  <Accordion title="Always provide card fallbacks">
    Even when targeting specific methods, include `credit` and `debit` as fallbacks. Not all customers have access to every payment method.
  </Accordion>

  <Accordion title="Consider transaction minimums">
    BNPL methods have per-provider minimums: Klarna and Afterpay require $50.01; Sunbit requires $60.00 (and has a \$19,999 maximum). Don't include them for products outside these ranges — they simply won't appear, which is fine.
  </Accordion>

  <Accordion title="Test across regions and devices">
    Use test mode to verify payment method availability for different customer locations, currencies, and device types before going live.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Payment method not appearing">
    **Check these factors:**

    1. Method included in `allowed_payment_method_types`?
    2. Customer location matches method's supported region?
    3. Transaction currency supported by method?
       4\. Transaction amount within the method's supported range (e.g., Klarna/Afterpay min $50.01; Sunbit $60.00–\$19,999)?
    4. For subscriptions: method supports recurring payments?

    **Solution:** Remove `allowed_payment_method_types` temporarily to see all eligible methods, then narrow down the issue.
  </Accordion>

  <Accordion title="Unexpected methods appearing">
    **Possible causes:**

    * `allowed_payment_method_types` not being passed correctly
    * Parameter formatted incorrectly (must be array of strings)

    **Solution:** Log your API request payload and verify the parameter structure.
  </Accordion>

  <Accordion title="Regional method not available">
    **Check:**

    * Customer billing address matches method's region
    * Currency is set correctly (e.g., EUR for iDEAL)
    * Adaptive Currency is enabled if customer is international

    **Solution:** Verify billing address country code and currency in your API request.
  </Accordion>

  <Accordion title="Indian payment method issues">
    UPI and Rupay subscriptions have unique requirements including 48-hour processing delays and RBI mandate limits.

    **See:** <a href="/features/payment-methods/india">India Payment Methods</a> for complete guidance.
  </Accordion>
</AccordionGroup>

## Related Pages

<CardGroup cols={2}>
  <Card title="Adaptive Currency" icon="globe" href="/features/adaptive-currency">
    Supported currencies and automatic conversion.
  </Card>

  <Card title="Checkout Guide" icon="book" href="/developer-resources/checkout-session">
    Complete checkout implementation guide.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Test cards, UPI IDs, and wallet testing.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Recurring billing and payment method updates.
  </Card>
</CardGroup>

## Expanding Payment Options

We continuously add new payment methods. If you need a specific method not listed here, contact us at [support@dodopayments.com](mailto:support@dodopayments.com).
