Acceptez UPI et toutes les cartes émises en Inde avec des mandats d’abonnement conformes à la RBI. Comprenez le délai de traitement de 48 heures, les limites de mandat et la gestion des webhooks.
Use this file to discover all available pages before exploring further.
L’Inde possède une infrastructure de paiement unique dominée par UPI (plus de 60 % des transactions numériques) et les cartes émises en Inde (Visa, Mastercard, Rupay, etc.). Dodo Payments prend en charge tout cela avec une conformité complète aux mandats d’abonnement de la RBI.
Pourquoi les Méthodes de Paiement en Inde Comptent
UPI Dominance
UPI traite plus de 10 milliards de transactions par mois. De nombreux clients indiens ne possèdent pas de cartes internationales.
Low Transaction Costs
UPI présente des frais de transaction quasi nuls. Excellent pour les transactions à volume élevé et faibles montants.
Subscription Support
Contrairement à la plupart des méthodes de paiement alternatives, UPI et toutes les cartes émises en Inde (Visa, Mastercard, Rupay, etc.) prennent en charge les paiements récurrents via les mandats RBI.
*Les abonnements nécessitent des mandats conformes à la RBI avec des règles de traitement spéciales. Le délai de traitement de 48 heures s’applique à toutes les cartes émises en Inde et à UPI.
Important pour les changements de plan : Si une mise à niveau entraîne un montant dépassant la limite du mandat en cours, le paiement échouera et le client devra réautoriser.
C’est la principale différence par rapport aux paiements par carte internationale :
1
Charge Initiated (Day 0)
À la date de renouvellement prévue, Dodo initie le prélèvement auprès de la banque.
2
Pre-Debit Notification
Le client reçoit une notification de sa banque concernant le prochain débit.
3
48-Hour Window
Le client peut annuler le mandat pendant cette période via son application bancaire.
4
Debit Completed (~48-51 hours)
Après 48 heures (plus jusqu’à 3 heures supplémentaires pour le traitement bancaire), les fonds sont débités.
5
Webhook Sent
Le webhook payment.succeeded est envoyé après le débit effectif, pas lors de l’initiation.
N’accordez pas d’avantages lors de l’initiation du prélèvement. Attendez le webhook payment.succeeded, qui arrive environ 48 à 51 heures après la date prévue du prélèvement.
// 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); }}
Concevez votre application pour gérer le délai entre l’initiation du prélèvement et le paiement effectif. Envisagez :
Des délais de grâce pour l’accès aux abonnements
Une communication claire aux clients sur le temps de traitement
Un traitement piloté par les webhooks, pas par une date
Handle mandate cancellations
Les clients peuvent annuler les mandats via leurs applications bancaires à tout moment. Surveillez les webhooks subscription.on_hold et invitez les clients à se réabonner ou à mettre à jour leurs moyens de paiement.
Set appropriate mandate amounts
Pour une tarification variable (par exemple à l’usage), réfléchissez à savoir si un mandat à la demande de 15 000 Rs est suffisant. Si les prélèvements risquent de dépasser ce montant, les clients devront réautoriser.
Offer UPI prominently
Pour les clients indiens, UPI devrait être l’option de paiement principale. De nombreux utilisateurs la préfèrent aux cartes en raison de la familiarité et d’une moindre friction.
Si commerçant non indien : Adaptive Currency activée ?
upi_collect inclus dans allowed_payment_method_types ?
Solution : Vérifiez que l’adresse de facturation contient country: "IN" et billing_currency: "INR".
Subscription charge failed after upgrade
Cause : Le nouveau montant dépasse la limite du mandat existant (seuil de 15 000 Rs).Solution : Le client doit mettre à jour son moyen de paiement pour établir un nouveau mandat avec la limite appropriée.
Subscription on hold but customer claims they didn't cancel
Cause : Le client a peut-être annulé le mandat pendant la fenêtre de 48 heures, ou sa banque a refusé le débit.Solution : Le client doit réautoriser le mandat ou mettre à jour son moyen de paiement.
Payment deduction delayed beyond 48 hours
Cause : Des ralentissements de l’API bancaire peuvent prolonger le traitement de 2 à 3 heures supplémentaires.Solution : Cela est prévu. Concevez votre système pour gérer des délais variables allant jusqu’à environ 51 heures au total.
Mandate cancelled but subscription still active
Cause : Cas exceptionnel dans les réglementations de la RBI — l’annulation du mandat pendant la fenêtre de traitement n’annule pas immédiatement l’abonnement.Solution : Le prélèvement suivant échouera et l’abonnement passera en on_hold. Surveillez les webhooks pour payment.failed.