Mengapa Metode Pembayaran India Penting
UPI Dominance
UPI memproses lebih dari 20 miliar transaksi per bulan, dan banyak pelanggan India tidak memiliki kartu internasional.
Low-Value Payments
UPI cocok untuk transaksi bervolume tinggi dengan nilai lebih rendah.
Subscription Support
Tidak seperti kebanyakan metode pembayaran alternatif, UPI dan kartu yang diterbitkan di India, termasuk Visa, Mastercard, dan RuPay, mendukung pembayaran berulang melalui mandat RBI.
Metode yang Didukung
Tabel mencantumkan setiap metode dan apakah metode tersebut mendukung langganan:
*Langganan memerlukan mandat yang mematuhi RBI dengan aturan pemrosesan khusus. Penundaan pemrosesan selama 48 jam berlaku untuk tagihan berulang pada semua kartu yang diterbitkan di India, UPI, dan Apple Pay.
Pembayaran yang ditagihkan dalam INR harus minimal ₹5.00 dan minimal setara dengan jumlah minimum dalam USD: $0.50 untuk pembayaran satu kali dan $1.00 untuk langganan. Lihat Jumlah Minimum.
Konfigurasi
Tipe API Method
Teruskan nilai-nilai ini diallowed_payment_method_types:
Contoh: Checkout Berfokus pada India
Sesi ini menawarkan UPI, kartu, dan Apple Pay kepada pelanggan di India, dengan penagihan dalam INR:Persyaratan untuk UPI
UPI hanya muncul saat checkout jika semua kondisi berikut terpenuhi:- billing country adalah India (
IN). - billing currency adalah INR.
- Untuk subscription dari merchant di luar India, Adaptive Currency diaktifkan. Checkout satu kali tidak memerlukannya jika produk diberi harga dalam INR.
Subscription dengan Mandate RBI
Subscription yang dibayar dengan UPI atau kartu yang diterbitkan di India berjalan menggunakan mandate RBI (Reserve Bank of India), yang menambahkan aturan yang tidak dimiliki metode pembayaran lainnya.Cara Kerja Mandate RBI
Pelanggan mengotorisasi mandate saat berlangganan. Setiap renewal charge kemudian menunggu 48 jam setelah notifikasi pre-debit sebelum bank mendebit dana:Tipe Mandate
Tipe mandate bergantung pada perbandingan jumlah subscription dengan batas minimum mandate:
Jumlah yang didaftarkan pada bank pelanggan adalah
max(mandate_floor, billing_amount). Jika jumlah penagihan berada di bawah batas minimum, batas tersebut menjadi authorization ceiling yang ditampilkan kepada pelanggan.
Perubahan plan: Jika upgrade menghasilkan charge yang melebihi batas mandate yang ada, charge gagal dan pelanggan harus melakukan otorisasi lagi.
Batas Minimum Mandate yang Dapat Dikonfigurasi
Atur batas minimum mandate untuk e-mandate INR menggunakan fieldmandate_min_amount_inr_paise, dalam paise INR (₹1 = 100 paise).
Anda dapat mengganti default sistem sebesar ₹15.000 pada tiga tingkat:
Dodo Payments menggunakan nilai pertama yang ditetapkan: override per request, kemudian pengaturan merchant, lalu default sistem.
Untuk menetapkan batas minimum, teruskan
mandate_min_amount_inr_paise dalam request body saat Anda membuat checkout session. Endpoint Create Subscription yang sudah deprecated menerima field yang sama.
Batas minimum yang lebih tinggi memungkinkan Anda melakukan one-off charge yang lebih besar di kemudian hari, seperti upgrade plan atau kelebihan penggunaan berbasis usage, tanpa meminta pelanggan melakukan otorisasi lagi. Batas minimum yang lebih rendah menjaga otorisasi pelanggan tetap lebih dekat dengan jumlah penagihan sebenarnya, tetapi menyediakan ruang yang lebih kecil untuk variable charge di masa mendatang.
Penundaan Pemrosesan Selama 48 Jam
Renewal charge pada kartu India atau UPI selesai sekitar 48 jam setelah tanggal renewal. Inilah perbedaan terpenting dibandingkan pembayaran dengan kartu internasional:1
Charge Initiated (Day 0)
Pada tanggal renewal yang dijadwalkan, Dodo Payments memulai charge ke bank.
2
Pre-Debit Notification
Bank pelanggan memberi tahu mereka tentang debit yang akan datang.
3
48-Hour Window
Selama periode ini, pelanggan dapat membatalkan mandate di aplikasi perbankan mereka.
4
Debit Completed (~48-51 Hours)
Setelah 48 jam, ditambah hingga 3 jam untuk pemrosesan bank, bank akan mendebit dana.
5
Webhook Sent
Dodo Payments mengirimkan webhook
payment.succeeded setelah debit aktual, bukan saat charge dimulai.Menangani Jendela 48 Jam
Berikan akses dari payment webhook, bukan dari tanggal renewal:Webhook Event untuk Subscription India
Tangani event berikut untuk subscription yang dibayar dengan UPI atau kartu yang diterbitkan di India:Pengujian
ID UPI untuk Pengujian
Dalam test mode, masukkan ID UPI berikut untuk menyimulasikan setiap hasil:Nomor Kartu India untuk Pengujian
Gunakan kartu pengujian yang diterbitkan di India berikut:Praktik Terbaik
Plan for the 48-hour delay
Plan for the 48-hour delay
Bangun aplikasi Anda untuk menangani jeda antara dimulainya charge dan pembayaran aktual. Pertimbangkan:
- Masa tenggang untuk akses subscription
- Komunikasi yang jelas kepada pelanggan tentang waktu pemrosesan
- Fulfillment berbasis webhook, bukan fulfillment berbasis tanggal
Handle mandate cancellations
Handle mandate cancellations
Pelanggan dapat membatalkan mandate di aplikasi perbankan mereka kapan saja. Pantau webhook
subscription.on_hold, lalu minta pelanggan berlangganan kembali atau memperbarui payment method mereka.Set appropriate mandate amounts
Set appropriate mandate amounts
Untuk penetapan harga variabel, seperti billing berbasis usage, periksa apakah mandate on-demand pada batas minimum mandate (default ₹15.000) mencakup charge terbesar Anda. Jika charge mungkin melebihi batas tersebut, naikkan batas minimum menggunakan
mandate_min_amount_inr_paise. Jika tidak, pelanggan harus mengotorisasi mandate baru.Offer UPI prominently
Offer UPI prominently
Untuk pelanggan India, jadikan UPI sebagai opsi pembayaran utama. Banyak pelanggan lebih memilihnya daripada kartu karena sudah familiar dan memiliki lebih sedikit friksi.
Pemecahan Masalah
UPI not appearing at checkout
UPI not appearing at checkout
Periksa:
- Apakah billing country diatur ke
IN? - Apakah billing currency diatur ke
INR? - Jika Anda adalah merchant di luar India, apakah Adaptive Currency diaktifkan?
- Apakah
upi_intenttercantum dalamallowed_payment_method_types?
country: "IN" di billing address dan billing_currency: "INR". Jika Adaptive Currency dinonaktifkan, API mengabaikan billing_currency, jadi tetapkan harga produk dalam INR.Subscription charge failed after upgrade
Subscription charge failed after upgrade
Penyebab: Jumlah charge baru melebihi batas mandate yang ada: batas minimum mandate (default ₹15.000), atau jumlah subscription jika lebih tinggi.Solusi: Pelanggan harus memperbarui payment method mereka untuk membuat mandate baru dengan batas yang sesuai.
Subscription on hold but customer claims they didn't cancel
Subscription on hold but customer claims they didn't cancel
Penyebab: Pelanggan mungkin membatalkan mandate selama jendela 48 jam, atau bank mereka menolak debit.Solusi: Pelanggan perlu mengotorisasi mandate lagi atau memperbarui payment method mereka.
Payment deduction delayed beyond 48 hours
Payment deduction delayed beyond 48 hours
Penyebab: Penundaan API bank dapat memperpanjang pemrosesan selama 2–3 jam.Solusi: Hal ini memang diharapkan. Bangun sistem Anda untuk menangani penundaan hingga sekitar 51 jam secara total.
Mandate cancelled but subscription still active
Mandate cancelled but subscription still active
Penyebab: Kasus khusus dalam peraturan RBI: membatalkan mandate selama jendela pemrosesan tidak langsung membatalkan subscription.Solusi: Charge berikutnya gagal, dan subscription berpindah ke
on_hold. Pantau webhook untuk payment.failed.Halaman Terkait
Payment Methods Overview
Lihat semua metode pembayaran yang didukung.
Subscriptions
Dokumentasi subscription lengkap, termasuk mandate RBI.
Webhooks
Penanganan webhook untuk payment event.
Testing Process
Semua data pengujian, termasuk ID UPI dan kartu India.