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

# ACH Direct Debit

> Terima ACH Direct Debit dari pelanggan AS yang membayar dalam USD. Pelajari cara kerja debit bank saat checkout, berapa lama waktu yang diperlukan untuk clear, dan cara mengujinya.

ACH Direct Debit memungkinkan pelanggan di Amerika Serikat membayar dari rekening bank, bukan kartu. Metode ini berjalan di jaringan Automated Clearing House dan tersedia pada checkout dalam USD untuk pembayaran satu kali.

## Mengapa Menawarkan ACH Direct Debit?

<CardGroup cols={3}>
  <Card title="Lower Processing Cost" icon="piggy-bank">
    Biaya ACH adalah 1,5% tetap per pembayaran, dibatasi hingga \$15, bukan biaya kartu. Lihat [pricing](https://dodopayments.com/pricing).
  </Card>

  <Card title="No Card Required" icon="building-columns">
    Jangkau pelanggan AS yang lebih suka membayar dari rekening bank, atau yang tidak ingin menggunakan kartu untuk pembelian dalam jumlah besar.
  </Card>

  <Card title="Higher Value Orders" icon="chart-line">
    Karena biaya dibatasi hingga \$15, penghematan dibandingkan biaya kartu semakin besar seiring meningkatnya nilai pesanan. ACH cocok untuk pembelian satu kali dalam jumlah besar.
  </Card>
</CardGroup>

## Ringkasan

| Detail | Nilai |
| :- | :- |
| **Mata Uang Penagihan** | USD |
| **Negara yang Didukung** | Amerika Serikat |
| **Subscription** | Tidak |
| **Jumlah Minimum** | \$0.50 |
| **Settlement** | Hingga 4 hari kerja |

<Warning>
  ACH Direct Debit tidak instan. Pembayaran dapat memerlukan waktu **hingga 4 hari kerja** untuk berhasil atau gagal. Debit yang telah diotorisasi bukan berarti pembayaran sudah settled: penuhi pesanan hanya setelah pembayaran mencapai status succeeded.
</Warning>

## Cara Kerjanya

```mermaid theme={null}
sequenceDiagram
    participant Customer
    participant Checkout
    participant Dodo
    participant ACH as ACH Network
    participant Bank

    Customer->>Checkout: Select ACH Direct Debit
    Checkout->>Customer: Ask for bank account details
    Customer->>Checkout: Enter details and authorize the debit
    Checkout->>Dodo: Create payment
    Dodo->>ACH: Submit debit request
    Note over ACH,Bank: Clearing takes up to 4 business days
    ACH->>Bank: Debit customer account
    Bank->>ACH: Confirm or return
    ACH->>Dodo: Final status
    Dodo->>Checkout: Payment succeeded or failed
```

## Pengalaman Pelanggan

1. Pelanggan memilih **ACH Direct Debit** saat checkout.
2. Pelanggan memasukkan nama pemilik rekening, routing number, account number, jenis rekening (checking atau savings), dan alamat email. Checkout memeriksa apakah routing number valid.
3. Pelanggan mengirimkan formulir, yang mengotorisasi debit dari rekening bank AS mereka berdasarkan mandat.
4. Pembayaran dikirimkan ke jaringan ACH dan memasuki status processing. Checkout selesai tanpa menunggu clearing.
5. Clearing selesai dalam beberapa hari kerja berikutnya.
6. Pembayaran berpindah ke status succeeded, atau gagal jika bank mengembalikannya.

<Info>
  Karena clearing berlangsung secara asynchronous, gunakan [webhooks](/developer-resources/webhooks) untuk mengetahui hasil akhirnya, bukan redirect checkout. Redirect setelah checkout hanya berarti pelanggan telah mengotorisasi debit.

  Pembayaran memancarkan `payment.processing` setelah debit dikirimkan, lalu `payment.succeeded` atau `payment.failed` saat clearing selesai. Penuhi pesanan hanya pada `payment.succeeded`.
</Info>

## Ketersediaan

ACH Direct Debit muncul saat checkout jika semua kondisi berikut terpenuhi:

* **billing currency** adalah `USD`.
* **billing country** adalah `US`.
* Transaksi merupakan **pembayaran satu kali**.

<Note>
  ACH Direct Debit tidak tersedia untuk subscription. Untuk pembayaran berulang, gunakan kartu atau metode lain yang mendukung subscription. Lihat [Payment Methods overview](/features/payment-methods).
</Note>

## Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_123', quantity: 1 }],
  allowed_payment_method_types: ['ach', 'credit', 'debit'],
  billing_currency: 'USD',
  billing_address: {
    country: 'US',
    zipcode: '94102'
  },
  return_url: 'https://example.com/success'
});
```

<Note>
  ACH Direct Debit memerlukan mata uang penagihan **USD** dan alamat penagihan di **AS**. Jika Anda menetapkan harga dalam mata uang lain, aktifkan [Adaptive Currency](/features/adaptive-currency) agar pelanggan AS ditagih dalam USD dan ACH tersedia.
</Note>

## Jenis Metode API

| Jenis | Metode | Negara |
| :- | :- | :- |
| `ach` | ACH Direct Debit | Amerika Serikat |

## Pengembalian Dana dan Sengketa

Refund dan dispute untuk pembayaran ACH menggunakan API dan alur dashboard yang sama seperti metode pembayaran lainnya. Anda tidak memerlukan penanganan khusus untuk ACH.

<Warning>
  Bank pelanggan dapat mengembalikan debit ACH setelah debit tersebut tampak berhasil, dan berdasarkan aturan Nacha, pelanggan dapat mengembalikan debit yang tidak diotorisasi dari rekening pribadi hingga 60 hari kalender setelah settlement. Jangan lakukan refund sampai pembayaran asli mencapai status succeeded.
</Warning>

## Pengujian

<Steps>
  <Step title="Enable test mode">
    Nonaktifkan tombol **Live Mode** di sidebar dashboard, dan gunakan API keys yang dibuat dalam test mode.
  </Step>

  <Step title="Set currency and billing address">
    Atur mata uang penagihan ke `USD` dan negara alamat penagihan ke `US`.
  </Step>

  <Step title="Include `ach` in allowed methods">
    Masukkan `ach` dalam `allowed_payment_method_types`, atau kosongkan field tersebut untuk menampilkan semua metode yang memenuhi syarat.
  </Step>

  <Step title="Enter the test bank details">
    Masukkan salah satu pasangan test routing number dan account number di bawah. Kemudian pastikan webhook handler Anda menerima status pembayaran final.
  </Step>
</Steps>

### Rekening Bank Pengujian

Pelanggan mengetikkan account number dan routing number ke dalam formulir checkout. Dalam test mode, gunakan routing number `110000000` dengan salah satu account number berikut untuk memaksa hasil tertentu:

| Account Number | Routing Number | Perilaku |
| :- | :- | :- |
| `000123456789` | `110000000` | Pembayaran berhasil. |
| `000222222227` | `110000000` | Pembayaran gagal karena dana tidak mencukupi. |
| `000111111113` | `110000000` | Pembayaran gagal karena rekening ditutup. |
| `000111111116` | `110000000` | Pembayaran gagal karena rekening tidak ditemukan. |
| `000333333335` | `110000000` | Pembayaran gagal karena debit tidak diotorisasi pada rekening tersebut. |
| `000444444440` | `110000000` | Pembayaran gagal karena mata uang tidak valid. |
| `000555555559` | `110000000` | Pembayaran berhasil, lalu memicu dispute. |
| `000000000009` | `110000000` | Pembayaran tetap dalam status processing tanpa batas waktu. Gunakan ini untuk menguji UI pending-state. |

<Note>
  Test payments mencapai status final jauh lebih cepat daripada pembayaran live, sehingga Anda tidak perlu menunggu berhari-hari untuk memverifikasi integrasi. Pengecualiannya adalah `000000000009`, yang tetap dalam status processing.
</Note>

## Praktik Terbaik

<AccordionGroup>
  <Accordion title="Don't fulfill on authorization">
    Otorisasi ACH bukanlah pembayaran. Tunggu hingga pembayaran mencapai status succeeded sebelum memberikan akses atau mengirimkan pesanan. Bank pelanggan masih dapat mengembalikan debit tersebut.
  </Accordion>

  <Accordion title="Set customer expectations at checkout">
    Beri tahu pelanggan bahwa pembayaran melalui bank tidak langsung clear. Hal ini mengurangi tiket dukungan yang menanyakan mengapa pesanan masih pending.
  </Accordion>

  <Accordion title="Provide card fallbacks">
    Sertakan `credit` dan `debit` bersama `ach`, sehingga pelanggan yang memerlukan akses langsung ke produk Anda dapat memilih metode yang lebih cepat.
  </Accordion>

  <Accordion title="Use ACH for high-value one-time purchases">
    Biaya ACH dibatasi hingga \$15, sehingga penghematan terbesar berlaku untuk pembelian satu kali dalam jumlah besar.
  </Accordion>
</AccordionGroup>

## Pemecahan Masalah

<AccordionGroup>
  <Accordion title="ACH not appearing at checkout">
    **Periksa:**

    1. Apakah mata uang penagihan adalah `USD`?
    2. Apakah negara penagihan pelanggan adalah `US`?
    3. Apakah `ach` disertakan dalam `allowed_payment_method_types`?
    4. Apakah ini pembayaran satu kali? ACH tidak ditawarkan untuk subscription.
    5. Apakah jumlahnya setidaknya \$0.50?

    **Solusi:** Hapus `allowed_payment_method_types` sementara untuk melihat semua metode yang memenuhi syarat, lalu periksa mata uang penagihan dan negara alamat penagihan dalam API request Anda.
  </Accordion>

  <Accordion title="ACH not appearing on a subscription checkout">
    **Penyebab:** ACH Direct Debit hanya ditawarkan untuk pembayaran satu kali.

    **Solusi:** Gunakan kartu atau metode lain yang mendukung langganan untuk penagihan berulang.
  </Accordion>

  <Accordion title="Payment stuck in processing">
    **Penyebab:** Hal ini memang diharapkan. Pembayaran ACH tetap dalam status processing selama seluruh periode clearing, yang jauh lebih lama dibandingkan pembayaran kartu.

    **Solusi:** Tunggu webhook final. Jangan mencoba kembali pembayaran tersebut, karena percobaan ulang dapat mendebit pelanggan dua kali.
  </Accordion>

  <Accordion title="Payment failed after initially succeeding at checkout">
    **Penyebab:** Checkout selesai, tetapi bank pelanggan mengembalikan debit selama clearing, biasanya karena dana tidak mencukupi atau rekening ditutup. Pembayaran memancarkan `payment.failed`.

    **Solusi:** Perlakukan pembayaran sebagai gagal, dan minta pelanggan membayar dengan metode lain. Untuk menghindari hal ini, penuhi pesanan hanya pada status succeeded.
  </Accordion>
</AccordionGroup>

## Halaman Terkait

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="credit-card" href="/features/payment-methods">
    Lihat semua metode pembayaran yang didukung.
  </Card>

  <Card title="Adaptive Currency" icon="globe" href="/features/adaptive-currency">
    Dukungan mata uang dan konversi otomatis.
  </Card>

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

  <Card title="Webhooks" icon="webhook" href="/developer-resources/webhooks">
    Tangani konfirmasi pembayaran yang tertunda secara asynchronous.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.