> ## 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

| Metode Pembayaran    | Negara yang Didukung | Mata Uang yang Didukung   | Langganan | Jumlah Minimum        |
| :------------------- | :------------------- | :------------------------ | :-------: | :-------------------- |
| **Kartu Kredit**     | Global               | Semua mata uang           |     Ya    | \$0.50                |
| **Kartu Debit**      | Global               | Semua mata uang           |     Ya    | \$0.50                |
| **Apple Pay**        | Global (Kecuali IN)  | Semua mata uang           |     Ya    | \$0.50                |
| **Google Pay**       | Global (Kecuali IN)  | Semua mata uang           |     Ya    | \$0.50                |
| **Amazon Pay**       | Global (Kecuali IN)  | USD                       |   Tidak   | \$0.50                |
| **Cash App Pay**     | US                   | USD                       |   Tidak   | \$0.50                |
| **Klarna**           | US, Eropa            | USD, EUR, GBP + 7 lainnya |     Ya    | \$50.01               |
| **Afterpay**         | US, UK               | USD, GBP                  |   Tidak   | \$50.01               |
| **Sunbit**           | US                   | USD                       |   Tidak   | $60.00 (maks $19,999) |
| **UPI**              | India                | INR                       |    Ya\*   | ₹1                    |
| **Rupay**            | India                | INR                       |    Ya\*   | ₹1                    |
| **iDEAL**            | Belanda              | EUR                       |   Tidak   | €0.50                 |
| **Bancontact**       | Belgia               | EUR                       |   Tidak   | €0.50                 |
| **EPS**              | Austria              | EUR                       |   Tidak   | €0.50                 |
| **Multibanco**       | Portugal             | EUR                       |   Tidak   | €0.50                 |
| **Przelewy24 (P24)** | Polandia             | PLN                       |   Tidak   | 2.00 PLN              |
| **BLIK**             | Polandia             | PLN                       |   Tidak   | 2.00 PLN              |
| **Satispay**         | Eropa                | EUR                       |     Ya    | €0.50                 |
| **PAYCO**            | Korea Selatan        | KRW                       |   Tidak   | \~\$1.00              |
| **Naver Pay**        | Korea Selatan        | KRW                       |     Ya    | \~\$1.00              |
| **Kakao Pay**        | Korea Selatan        | KRW                       |     Ya    | \~\$1.00              |
| **RevolutPay**       | Global               | GBP                       |   Tidak   | £0.50                 |
| **Billie**           | Global               | GBP                       |   Tidak   | £0.50                 |
| **Pix**              | Brasil               | BRL                       |   Tidak   | \$0.50                |
| **Stablecoins**      | Global (Kecuali IN)  | USD                       |   Tidak   | \$0.50                |
| **WeChat Pay**       | Global               | USD, CNY                  |   Tidak   | \$0.50                |

<Note>
  \*Indian payment methods (UPI, Rupay) support subscriptions with RBI-compliant mandates. See the <a href="/features/payment-methods/india">India Payment Methods</a> page for details on the 48-hour processing delay and 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, and Billie 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="Crypto & Stablecoins" icon="bitcoin-sign" href="/features/payment-methods/crypto">
    Accept cryptocurrency and 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>

## Configuring Payment Methods

By default, all eligible payment methods appear automatically. Use `allowed_payment_method_types` to restrict which methods are shown:

<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/checkout-sessions \
      -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                             |
| `pix`               | Pix (Brazil)                                |
| `crypto`            | 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

```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"
  }'
```

## 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>

  | Jenis               | Deskripsi                                   |
  | :------------------ | :------------------------------------------ |
  | `credit`            | Kartu kredit (Visa, Mastercard, Amex, dll.) |
  | `debit`             | Kartu debit                                 |
  | `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 (Kode QR)                       |
  | `ideal`             | iDEAL (Belanda)                             |
  | `bancontact_card`   | Bancontact (Belgia)                         |
  | `eps`               | EPS (Austria)                               |
  | `multibanco`        | Multibanco (Portugal)                       |
  | `przelewy24`        | Przelewy24 / P24 (Polandia)                 |
  | `blik`              | BLIK (Polandia)                             |
  | `satispay`          | Satispay (Eropa)                            |
  | `payco`             | PAYCO (Korea Selatan)                       |
  | `naver_pay`         | Naver Pay (Korea Selatan)                   |
  | `kakao_pay`         | Kakao Pay (Korea Selatan)                   |
  | `revolut_pay`       | RevolutPay                                  |
  | `billie`            | Billie B2B BNPL                             |
  | `sunbit`            | Sunbit BNPL (US)                            |
  | `pix`               | Pix (Brasil)                                |
  | `crypto`            | Stablecoins                                 |
  | `wechat_pay`        | WeChat Pay                                  |

  <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 meets minimum (e.g., \$50.01 for BNPL)?
    5. 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).

<CardGroup cols={2}>
  <Card title="Adaptive Currency" icon="globe" href="/features/adaptive-currency">
    Mata uang yang didukung dan konversi otomatis.
  </Card>

  <Card title="Checkout Guide" icon="book" href="/developer-resources/checkout-session">
    Panduan lengkap implementasi checkout.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Kartu uji, ID UPI, dan pengujian dompet.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Penagihan berulang dan pembaruan metode pembayaran.
  </Card>
</CardGroup>

## Memperluas Opsi Pembayaran

Kami terus menambahkan metode pembayaran baru. Jika Anda membutuhkan metode tertentu yang tidak tercantum di sini, hubungi kami di [support@dodopayments.com](mailto:support@dodopayments.com).

Kami terus menambahkan metode pembayaran baru. Jika Anda memerlukan metode tertentu yang tidak tercantum di sini, hubungi kami di [support@dodopayments.com](mailto:support@dodopayments.com).
