Accetta UPI e tutte le carte emesse in India con mandati di abbonamento conformi a RBI. Comprendi il ritardo di elaborazione di 48 ore, i limiti dei mandati e la gestione dei webhook.
Use this file to discover all available pages before exploring further.
L’India ha un’infrastruttura di pagamento unica dominata da UPI (oltre il 60% delle transazioni digitali) e carte emesse in India (Visa, Mastercard, Rupay, ecc.). Dodo Payments supporta tutto questo con piena conformità RBI per i mandati di abbonamento.
Perché i metodi di pagamento indiani sono importanti
UPI Dominance
UPI elabora oltre 10 miliardi di transazioni al mese. Molti clienti indiani non dispongono di carte internazionali.
Low Transaction Costs
UPI ha commissioni di transazione quasi nulle. Ottimo per transazioni ad alto volume e valore inferiore.
Subscription Support
A differenza della maggior parte dei metodi di pagamento alternativi, UPI e tutte le carte emesse in India (Visa, Mastercard, Rupay, ecc.) supportano i pagamenti ricorrenti tramite mandati RBI.
*Gli abbonamenti richiedono mandati conformi a RBI con regole di elaborazione speciali. Il ritardo di elaborazione di 48 ore si applica a tutte le carte emesse in India e UPI.
Importante per modifiche ai piani: se un upgrade comporta una quota superiore al limite del mandato esistente, l’addebito verrà annullato e il cliente dovrà ri-autorizzare.
Questa è la differenza più importante rispetto ai pagamenti con carta internazionali:
1
Charge Initiated (Day 0)
Alla data di rinnovo programmata, Dodo avvia l’addebito con la banca.
2
Pre-Debit Notification
Il cliente riceve una notifica dalla propria banca circa il prossimo addebito.
3
48-Hour Window
Il cliente può annullare il mandato durante questo periodo tramite la propria app bancaria.
4
Debit Completed (~48-51 hours)
Dopo 48 ore (più fino a 3 ore aggiuntive per l’elaborazione bancaria), i fondi vengono addebitati.
5
Webhook Sent
Il webhook payment.succeeded viene inviato dopo l’addebito effettivo, non all’avvio.
Non concedere benefici all’inizio dell’addebito. Attendi il webhook payment.succeeded, che arriva circa 48-51 ore dopo la data di addebito programmata.
// 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); }}
Progetta la tua applicazione per gestire il divario tra l’inizio dell’addebito e il pagamento effettivo. Considera:
Periodi di tolleranza per l’accesso all’abbonamento
Comunicazione chiara ai clienti sui tempi di elaborazione
Esecuzione basata sui webhook, non sulla data
Handle mandate cancellations
I clienti possono cancellare i mandati tramite le loro app bancarie in qualsiasi momento. Monitora i webhook subscription.on_hold e invita i clienti a ri-sottoscrivere o aggiornare i metodi di pagamento.
Set appropriate mandate amounts
Per prezzi variabili (es. basati sull’utilizzo), considera se un mandato on-demand da Rs 15.000 sia sufficiente. Se gli addebiti potrebbero superare questa soglia, i clienti dovranno ri-autorizzare.
Offer UPI prominently
Per i clienti indiani, UPI dovrebbe essere l’opzione di pagamento principale. Molti utenti lo preferiscono alle carte per familiarità e minore attrito.
Se commerciante non indiano: Adaptive Currency abilitata?
upi_collect incluso in allowed_payment_method_types?
Soluzione: Verifica che l’indirizzo di fatturazione abbia country: "IN" e billing_currency: "INR".
Subscription charge failed after upgrade
Causa: Il nuovo importo supera il limite del mandato esistente (soglia Rs 15.000).Soluzione: Il cliente deve aggiornare il metodo di pagamento per stabilire un nuovo mandato con il limite corretto.
Subscription on hold but customer claims they didn't cancel
Causa: Il cliente potrebbe aver annullato il mandato durante la finestra di 48 ore o la banca ha rifiutato l’addebito.Soluzione: Il cliente deve ri-autorizzare il mandato o aggiornare il metodo di pagamento.
Payment deduction delayed beyond 48 hours
Causa: I ritardi delle API bancarie possono estendere l’elaborazione di 2-3 ore aggiuntive.Soluzione: Questo è previsto. Progetta il sistema per gestire ritardi variabili fino a circa 51 ore in totale.
Mandate cancelled but subscription still active
Causa: Caso limite nelle normative RBI — la cancellazione del mandato durante la finestra di elaborazione non annulla immediatamente l’abbonamento.Soluzione: Il prossimo addebito fallirà e l’abbonamento passerà a on_hold. Monitora i webhook per payment.failed.