Terima UPI dan semua kartu yang diterbitkan di India dengan mandat berlangganan sesuai dengan RBI. Pahami penundaan pemrosesan 48 jam, batasan mandat, dan penanganan webhook.
Use this file to discover all available pages before exploring further.
India memiliki infrastruktur pembayaran yang unik, didominasi oleh UPI (60%+ transaksi digital) dan kartu yang diterbitkan di India (Visa, Mastercard, Rupay, dll.). Dodo Payments mendukung semua dengan kepatuhan penuh terhadap RBI untuk mandat berlangganan.
UPI memproses lebih dari 10 miliar transaksi/bulan. Banyak pelanggan India tidak memiliki kartu internasional.
Low Transaction Costs
UPI memiliki biaya transaksi hampir nol. Sangat cocok untuk transaksi bervolume tinggi dengan nilai rendah.
Subscription Support
Tidak seperti metode pembayaran alternatif lainnya, UPI dan semua kartu yang diterbitkan di India (Visa, Mastercard, Rupay, dll.) mendukung pembayaran berulang melalui mandat RBI.
*Langganan memerlukan mandat yang sesuai dengan RBI dengan aturan pemrosesan khusus. Penundaan pemrosesan 48 jam berlaku untuk semua kartu yang diterbitkan di India dan UPI.
Penting untuk perubahan rencana: Jika peningkatan mengakibatkan biaya melebihi batas mandat yang ada, biaya akan gagal dan pelanggan harus mengotorisasi ulang.
Ini adalah perbedaan paling penting dari pembayaran menggunakan kartu internasional:
1
Charge Initiated (Day 0)
Pada tanggal pembaruan yang dijadwalkan, Dodo memulai pengenaan biaya ke bank.
2
Pre-Debit Notification
Pelanggan menerima pemberitahuan dari bank mereka tentang debit yang akan datang.
3
48-Hour Window
Pelanggan dapat membatalkan mandat selama periode ini melalui aplikasi perbankan mereka.
4
Debit Completed (~48-51 hours)
Setelah 48 jam (ditambah hingga 3 jam tambahan untuk pemrosesan bank), dana didebet.
5
Webhook Sent
payment.succeeded webhook dikirim setelah debit sebenarnya, bukan saat inisiasi.
Jangan berikan manfaat saat inisiasi pengenaan biaya. Tunggu webhook payment.succeeded, yang tiba sekitar 48-51 jam setelah tanggal pengenaan biaya yang dijadwalkan.
// DON'T do this:async function handleSubscriptionRenewal(subscription) { // ❌ Bad: Granting access immediately when charge is initiated grantPremiumAccess(subscription.customer_id);}// DO this:async function handlePaymentWebhook(event) { if (event.type === 'payment.succeeded') { // ✅ Good: Only grant access after payment is confirmed grantPremiumAccess(event.data.customer_id); } if (event.type === 'payment.failed') { // Handle failed payment (mandate cancelled, insufficient funds) revokePremiumAccess(event.data.customer_id); }}
Bangun aplikasi Anda untuk menangani jeda antara inisiasi pengenaan biaya dan pembayaran aktual. Pertimbangkan:
Periode tenggang untuk akses langganan
Komunikasi yang jelas kepada pelanggan tentang waktu pemrosesan
Pemenuhan berbasis webhook, bukan berbasis tanggal
Handle mandate cancellations
Pelanggan dapat membatalkan mandat melalui aplikasi bank mereka kapan saja. Pantau webhook subscription.on_hold dan minta pelanggan untuk berlangganan ulang atau memperbarui metode pembayaran.
Set appropriate mandate amounts
Untuk harga variabel (misalnya berbasis penggunaan), pertimbangkan apakah mandat sesuai permintaan senilai Rs 15.000 sudah cukup. Jika pengenaan biaya mungkin melebihi ini, pelanggan perlu mengotorisasi ulang.
Offer UPI prominently
Untuk pelanggan India, UPI sebaiknya menjadi opsi pembayaran utama. Banyak pengguna lebih memilihnya dibandingkan kartu karena sudah familiar dan memiliki gesekan lebih rendah.
Jika pedagang non-India: Adaptive Currency diaktifkan?
upi_collect termasuk dalam allowed_payment_method_types?
Solusi: Verifikasi alamat penagihan memiliki country: "IN" dan billing_currency: "INR".
Subscription charge failed after upgrade
Penyebab: Jumlah pengenaan biaya baru melebihi batas mandat yang ada (ambang batas Rs 15.000).Solusi: Pelanggan harus memperbarui metode pembayaran untuk membuat mandat baru dengan batas yang benar.
Subscription on hold but customer claims they didn't cancel
Penyebab: Pelanggan mungkin telah membatalkan mandat selama jendela 48 jam, atau bank mereka menolak debit.Solusi: Pelanggan perlu mengotorisasi ulang mandat atau memperbarui metode pembayaran.
Payment deduction delayed beyond 48 hours
Penyebab: Keterlambatan API bank dapat memperpanjang pemrosesan hingga 2-3 jam tambahan.Solusi: Ini diharapkan. Bangun sistem Anda untuk menangani keterlambatan variabel hingga sekitar 51 jam total.
Mandate cancelled but subscription still active
Penyebab: Kasus tepi dalam regulasi RBI — pembatalan mandat selama jendela pemrosesan tidak serta-merta membatalkan langganan.Solusi: Pengenaan biaya berikutnya akan gagal dan langganan akan beralih ke on_hold. Pantau webhook untuk payment.failed.