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

# Kartu Kredit & Debit

> Terima semua jaringan kartu kredit dan debit utama di seluruh dunia dengan Dodo Payments. Pelajari 3D Secure, kartu tersimpan, tokenization, dan dukungan kartu regional.

Pembayaran kartu adalah fondasi pembayaran online, diterima di seluruh dunia dan dipercaya oleh pelanggan di berbagai negara. Dodo Payments mendukung semua jaringan kartu utama dengan perlindungan fraud bawaan dan kepatuhan PCI.

## Jaringan Kartu yang Didukung

### Jaringan Global

| Jaringan             | Cakupan                                          |
| :------------------- | :----------------------------------------------- |
| **Visa**             | Pemimpin global, 4B+ kartu di seluruh dunia      |
| **Mastercard**       | Jangkauan global, fitur keamanan yang kuat       |
| **American Express** | Pemegang kartu premium, pengeluaran lebih tinggi |
| **Discover**         | Berfokus pada AS, berkembang secara global       |
| **JCB**              | Memimpin di Jepang, berkembang di seluruh Asia   |
| **UnionPay**         | Dominan di Tiongkok, 8B+ kartu                   |
| **Diners Club**      | Pelancong internasional premium                  |

### Jaringan Regional

| Jaringan              | Wilayah                   |
| :-------------------- | :------------------------ |
| **Interac**           | Jaringan debit Kanada     |
| **Cartes Bancaires**  | Jaringan nasional Prancis |
| **Kartu Lokal Korea** | Jaringan domestik Korea   |
| **Rupay**             | Jaringan nasional India   |

## Konfigurasi

Gunakan nilai-nilai ini di `allowed_payment_method_types`:

| Tipe     | Deskripsi          |
| :------- | :----------------- |
| `credit` | Semua kartu kredit |
| `debit`  | Semua kartu debit  |

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

<Tip>
  Sertakan `credit` dan `debit` kecuali Anda memiliki alasan khusus untuk mengecualikan salah satunya. Kartu debit lebih disukai oleh banyak pelanggan dan sering kali memiliki biaya yang lebih rendah.
</Tip>

## Autentikasi 3D Secure

3D Secure (3DS) menambahkan lapisan autentikasi yang mengurangi fraud dan chargeback dengan memverifikasi identitas pemegang kartu.

### Kapan 3DS Dipicu

3DS dipicu secara otomatis ketika:

* Diwajibkan oleh jaringan kartu
* Diwajibkan oleh regulasi regional (misalnya, PSD2 di Eropa)
* Transaksi ditandai sebagai berisiko tinggi

### Memaksa 3DS

Anda dapat mewajibkan 3DS pada semua transaksi:

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  force_3ds: true,
  return_url: 'https://example.com/success'
});
```

<Note>
  Mengaktifkan 3DS untuk semua transaksi mengurangi fraud, tetapi dapat sedikit menurunkan konversi karena sebagian pelanggan meninggalkan proses selama autentikasi.
</Note>

### Menangani Kegagalan Autentikasi

Ketika pembayaran memerlukan autentikasi 3DS, pembayaran melewati status perantara sebelum berhasil atau gagal:

| Status                     | Arti                                                                                                                                                      | Tindakan yang harus dilakukan                                                                                                                    |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `requires_customer_action` | Pelanggan harus menyelesaikan challenge 3DS                                                                                                               | Minta pelanggan menyelesaikan autentikasi selama checkout                                                                                        |
| `requires_payment_method`  | Pelanggan tidak pernah memberikan metode pembayaran (tidak memasukkan detail atau meninggalkan permintaan) — biasanya merupakan drop-off, bukan penolakan | Hubungi kembali pelanggan agar menyelesaikan checkout; lihat [Pemulihan Keranjang yang Ditinggalkan](/features/recovery/abandoned-cart-recovery) |

Jika autentikasi tidak selesai, pembayaran gagal dengan salah satu decline code berikut:

* `AUTHENTICATION_FAILURE` — pelanggan tidak dapat diautentikasi.
* `AUTHENTICATION_REQUIRED` — autentikasi diperlukan tetapi tidak dilakukan.
* `AUTHENTICATION_TIMEOUT` — pelanggan tidak merespons tepat waktu.

Lihat referensi [Kegagalan Transaksi](/api-reference/transaction-failures) untuk tindakan yang direkomendasikan bagi setiap kode.

#### Saat Checkout vs. Saat Renewal

* **Saat checkout (pelanggan hadir):** Pelanggan hadir, sehingga challenge 3DS ditampilkan selama checkout. Jika gagal, minta mereka mencoba lagi atau menggunakan kartu lain.
* **Saat renewal subscription (pelanggan tidak hadir):** Pelanggan tidak hadir, sehingga challenge 3DS tidak dapat ditampilkan secara real time. Jika renewal memerlukan autentikasi, subscription berpindah ke `on_hold`. Pulihkan dengan meminta pelanggan kembali dan memperbarui metode pembayaran mereka — lihat [Menangani Kegagalan Pembayaran](/developer-resources/handle-payment-failures) dan [Dunning Subscription](/features/recovery/subscription-dunning).

## Metode Pembayaran Tersimpan

Pelanggan dapat menyimpan kartu mereka untuk checkout berikutnya yang lebih cepat.

<CardGroup cols={3}>
  <Card title="Tokenized" icon="lock">
    Nomor kartu asli tidak pernah disimpan.
  </Card>

  <Card title="PCI Compliant" icon="shield-check">
    Dodo menangani seluruh kepatuhan.
  </Card>

  <Card title="Customer-Scoped" icon="user">
    Kartu dikaitkan dengan pelanggan tertentu.
  </Card>
</CardGroup>

### Mengaktifkan Kartu Tersimpan

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  show_saved_payment_methods: true,
  customer: { customer_id: 'cus_existing_123' },
  return_url: 'https://example.com/success'
});
```

### Pembelian Satu Klik

```javascript theme={null}
// Get customer's saved payment methods
const methods = await client.customers.retrievePaymentMethods('cus_123');

// Use saved card for instant checkout
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  payment_method_id: methods.items[0].payment_method_id,
  confirm: true,
  return_url: 'https://example.com/success'
});
```

## Pengujian

<Tabs>
  <Tab title="Successful Payments">
    | Wilayah | Brand      | Nomor Kartu        | Kedaluwarsa | CVV |
    | :------ | :--------- | :----------------- | :---------- | :-- |
    | US      | Visa       | `4242424242424242` | 06/32       | 123 |
    | US      | Mastercard | `5555555555554444` | 06/32       | 123 |
    | India   | Visa       | `4576238912771450` | 06/32       | 123 |
    | India   | Mastercard | `5409162669381034` | 06/32       | 123 |
  </Tab>

  <Tab title="Declined Payments">
    | Wilayah | Brand      | Nomor Kartu        | Skenario             |
    | :------ | :--------- | :----------------- | :------------------- |
    | US      | Visa       | `4000000000000002` | Penolakan umum       |
    | US      | Mastercard | `4000000000009995` | Dana tidak mencukupi |
    | India   | Visa       | `4706131211212123` | Penolakan umum       |
    | India   | Mastercard | `5105105105105100` | Penolakan umum       |
  </Tab>
</Tabs>

<Warning>
  Kartu pengujian hanya berfungsi dalam test mode. Jangan pernah menggunakannya untuk transaksi produksi.
</Warning>

## Keamanan & Kepatuhan

| Fitur               | Deskripsi                       |
| :------------------ | :------------------------------ |
| **PCI DSS Level 1** | Tingkat sertifikasi tertinggi   |
| **Tokenization**    | Nomor kartu segera ditokenisasi |
| **Fraud Scoring**   | Penilaian risiko real-time      |
| **AVS**             | Address Verification Service    |
| **Validasi CVV**    | Verifikasi kode keamanan        |
| **3D Secure**       | Autentikasi pemegang kartu      |

## Praktik Terbaik

<AccordionGroup>
  <Accordion title="Accept all major networks">
    Jangan membatasi jenis kartu kecuali diperlukan. Pelanggan mengharapkan kartu pilihan mereka dapat digunakan.
  </Accordion>

  <Accordion title="Display card logos">
    Tampilkan logo Visa, Mastercard, Amex pada checkout Anda untuk membangun kepercayaan.
  </Accordion>

  <Accordion title="Handle declines gracefully">
    Tampilkan pesan error yang jelas. Jangan tampilkan raw error code kepada pelanggan.
  </Accordion>

  <Accordion title="Enable saved cards for returning customers">
    Metode pembayaran tersimpan secara signifikan meningkatkan konversi untuk pembelian berulang.
  </Accordion>
</AccordionGroup>

## Pemecahan Masalah

<AccordionGroup>
  <Accordion title="Card declined">
    **Penyebab:** Dana tidak mencukupi, kartu kedaluwarsa, CVV salah, perlindungan fraud bank.

    **Solusi:** Minta pelanggan memverifikasi detail atau mencoba kartu lain. Cari decline code tertentu di referensi [Kegagalan Transaksi](/api-reference/transaction-failures) beserta tindakan yang direkomendasikan, dan lihat [Menangani Kegagalan Pembayaran](/developer-resources/handle-payment-failures) untuk penanganan secara programmatic.
  </Accordion>

  <Accordion title="3DS authentication failed">
    **Penyebab:** Pelanggan meninggalkan proses, sistem bank tidak tersedia, timeout.

    **Solusi:** Coba lagi atau minta pelanggan menghubungi bank mereka. Lihat [Menangani Kegagalan Autentikasi](#handling-authentication-failures) untuk status pembayaran dan decline code yang terkait.
  </Accordion>

  <Accordion title="Card not supported">
    **Penyebab:** Kartu regional tidak didukung, pembatasan kartu prabayar.

    **Solusi:** Pelanggan sebaiknya mencoba kartu lain dari jaringan utama.
  </Accordion>
</AccordionGroup>

## Halaman Terkait

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="layer-group" href="/features/payment-methods">
    Semua metode pembayaran yang didukung.
  </Card>

  <Card title="Upsells & Downsells" icon="arrow-up-right-dots" href="/features/upsells-and-downsells">
    Pembelian satu klik dengan kartu tersimpan.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Panduan pengujian lengkap.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Penagihan berulang dengan kartu.
  </Card>
</CardGroup>
