Terima UPI dan semua kartu yang diterbitkan di India di India dengan mandate subscription yang sesuai RBI. Pahami penundaan pemrosesan 48 jam, batas mandate, dan penanganan webhook.
India memiliki infrastruktur pembayaran unik yang didominasi oleh UPI (lebih dari 60% transaksi digital) dan kartu yang diterbitkan di India (Visa, Mastercard, Rupay, dll.). Dodo Payments mendukung semuanya dengan kepatuhan penuh terhadap RBI untuk mandate subscription.
UPI memproses lebih dari 10 miliar transaksi per bulan. Banyak pelanggan India tidak memiliki kartu internasional.
Low Transaction Costs
UPI memiliki biaya transaksi yang hampir nol. Sangat baik untuk transaksi bervolume tinggi dengan nilai lebih rendah.
Subscription Support
Tidak seperti kebanyakan metode pembayaran alternatif, UPI dan semua kartu yang diterbitkan di India (Visa, Mastercard, Rupay, dll.) mendukung pembayaran berulang melalui mandate RBI.
*Subscription memerlukan mandate yang sesuai RBI dengan aturan pemrosesan khusus. Penundaan pemrosesan 48 jam berlaku untuk semua kartu yang diterbitkan di India dan UPI.
Jumlah yang didaftarkan pada bank pelanggan adalah max(mandate_floor, billing_amount). Jadi, batas minimum tersebut pada dasarnya adalah batas otorisasi yang dilihat pelanggan ketika penagihan lebih rendah daripada batas minimum.Penting untuk perubahan paket: Jika upgrade menghasilkan tagihan yang melebihi batas mandate yang ada, tagihan akan gagal dan pelanggan harus melakukan otorisasi ulang.
Batas minimum mandate untuk e-mandate INR dapat dikonfigurasi melalui field mandate_min_amount_inr_paise (dalam paise INR — 1 INR = 100 paise). Anda dapat mengganti default sistem sebesar ₹15.000 pada tiga level:
Level
Tempat pengaturan
Cakupan
Per request
mandate_min_amount_inr_paise pada checkout session, payment, atau subscription
Subscription INR dengan kartu India pada connector non-Airwallex
Menetapkan batas minimum yang lebih tinggi memungkinkan Anda mendukung tagihan satu kali yang lebih besar di kemudian hari (misalnya upgrade paket atau kelebihan penggunaan berbasis pemakaian) tanpa memaksa pelanggan melakukan otorisasi ulang. Menetapkan batas minimum yang lebih rendah membuat otorisasi pelanggan lebih mendekati jumlah penagihan sebenarnya, tetapi membatasi ruang untuk tagihan variabel di masa mendatang.
Pengaturan ini hanya memengaruhi e-mandate yang didaftarkan untuk kartu yang diterbitkan di India (Visa, Mastercard, RuPay) pada subscription INR. Subscription UPI mengikuti alur AutoPay-nya sendiri dan tidak terpengaruh.
// 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 tagihan dan payment aktual. Pertimbangkan:
Masa tenggang untuk akses subscription
Komunikasi yang jelas kepada pelanggan tentang waktu pemrosesan
Pemenuhan yang digerakkan webhook, bukan berdasarkan tanggal
Handle mandate cancellations
Pelanggan dapat membatalkan mandate melalui aplikasi bank mereka kapan saja. Pantau webhook subscription.on_hold dan minta pelanggan untuk berlangganan kembali atau memperbarui payment method.
Set appropriate mandate amounts
Untuk harga variabel (misalnya berbasis pemakaian), pertimbangkan apakah mandate on-demand sebesar Rs 15.000 sudah mencukupi. Jika tagihan dapat melebihi jumlah ini, pelanggan harus melakukan otorisasi ulang.
Offer UPI prominently
Untuk pelanggan India, UPI sebaiknya menjadi opsi payment utama. Banyak pengguna lebih memilihnya daripada kartu karena sudah familiar dan lebih praktis.
Jika merchant non-India: apakah Adaptive Currency diaktifkan?
Apakah upi_collect disertakan dalam allowed_payment_method_types?
Solusi: Pastikan alamat penagihan memiliki country: "IN" dan billing_currency: "INR".
Subscription charge failed after upgrade
Penyebab: Jumlah tagihan baru melebihi batas mandate yang ada (ambang Rs 15.000).Solusi: Pelanggan harus memperbarui payment method untuk membuat mandate baru dengan batas yang tepat.
Subscription on hold but customer claims they didn't cancel
Penyebab: Pelanggan mungkin telah membatalkan mandate selama jendela 48 jam, atau bank mereka menolak debit.Solusi: Pelanggan perlu melakukan otorisasi ulang mandate atau memperbarui payment method mereka.
Payment deduction delayed beyond 48 hours
Penyebab: Penundaan API bank dapat memperpanjang pemrosesan selama 2–3 jam tambahan.Solusi: Ini adalah hal yang diharapkan. Bangun sistem Anda untuk menangani penundaan yang bervariasi hingga total sekitar 51 jam.
Mandate cancelled but subscription still active
Penyebab: Kasus khusus dalam peraturan RBI — pembatalan mandate selama jendela pemrosesan tidak langsung membatalkan subscription.Solusi: Tagihan berikutnya akan gagal dan subscription akan berpindah ke on_hold. Pantau webhook untuk payment.failed.