Skip to main content
भारत में ग्राहकों से UPI, भारत में जारी किए गए कार्ड (Visa, Mastercard और RuPay) और Apple Pay स्वीकार करें। मात्रा के आधार पर भारत के 80% से अधिक digital payment transactions UPI के माध्यम से होते हैं। Dodo Payments, RBI-compliant mandates के माध्यम से UPI और भारत में जारी किए गए कार्ड पर subscriptions का समर्थन करता है।

भारत भुगतान विधियाँ क्यों महत्वपूर्ण हैं

UPI Dominance

UPI हर महीने 20 billion से अधिक transactions process करता है, और कई भारतीय ग्राहकों के पास international card नहीं होता।

Low-Value Payments

UPI अधिक मात्रा वाले, कम मूल्य के transactions के लिए उपयुक्त है।

Subscription Support

अधिकांश alternative payment methods के विपरीत, UPI और भारतीय-जारी कार्ड, जिनमें Visa, Mastercard और RuPay शामिल हैं, RBI mandates के माध्यम से recurring payments का समर्थन करते हैं।

समर्थित Methods

तालिका में प्रत्येक method और यह बताया गया है कि वह subscriptions का समर्थन करता है या नहीं: *Subscriptions के लिए विशेष processing rules वाले RBI-compliant mandates आवश्यक हैं। सभी भारत में जारी किए गए कार्ड, UPI और Apple Pay पर recurring charges के लिए 48 घंटे की processing delay लागू होती है। INR में billed payment कम से कम ₹5.00 और USD minimum के equivalent के बराबर होना चाहिए: one-time payments के लिए $0.50 और subscriptions के लिए $1.00। Minimum Amounts देखें।

Configuration

API Method Types

इन values को allowed_payment_method_types में pass करें:
Checkout UPI को केवल upi_intent के रूप में offer करता है। यदि allowed_payment_method_types में upi_collect सूचीबद्ध है, लेकिन upi_intent नहीं है, तो UPI checkout पर दिखाई नहीं देता।

उदाहरण: India-Focused Checkout

यह session भारत में किसी ग्राहक को UPI, cards और Apple Pay प्रदान करता है और इसकी billing INR में होती है:

UPI के लिए Requirements

UPI checkout पर तभी दिखाई देता है जब ये सभी बातें सही हों:
  1. billing country India है (IN)।
  2. billing currency INR है।
  3. भारत के बाहर के merchants से subscriptions के लिए Adaptive Currency enabled है। यदि product की price INR में है, तो one-time checkouts के लिए इसकी आवश्यकता नहीं है।
यदि आप भारत के बाहर के merchant हैं और Adaptive Currency disabled है, तो आपके customers UPI से subscriptions के लिए payment नहीं कर सकते।

RBI Mandates के साथ Subscriptions

UPI या भारतीय-जारी cards से paid subscriptions RBI (Reserve Bank of India) mandates पर चलते हैं, जो अन्य payment methods पर लागू न होने वाले rules जोड़ते हैं।

RBI Mandates कैसे काम करते हैं

Customer subscription लेते समय mandate authorize करता है। इसके बाद प्रत्येक renewal charge, bank द्वारा funds debit करने से पहले pre-debit notification के बाद 48 घंटे तक प्रतीक्षा करता है:

Mandate Types

Mandate type इस बात पर निर्भर करता है कि subscription amount mandate floor की तुलना में कैसी है: Customer के bank के साथ registered amount max(mandate_floor, billing_amount) है। जब billing amount floor से कम होती है, तो floor customer-facing authorization ceiling बन जाता है। Plan changes: यदि upgrade से existing mandate limit से अधिक charge उत्पन्न होता है, तो charge fail हो जाता है और customer को फिर से authorize करना पड़ता है।

Configurable Mandate Floor

mandate_min_amount_inr_paise field के साथ INR e-mandates के लिए mandate floor सेट करें, INR paise में (₹1 = 100 paise)।
यह setting केवल INR subscriptions पर भारतीय-जारी cards (Visa, Mastercard, RuPay) के लिए registered e-mandates को प्रभावित करती है। UPI subscriptions अपने स्वयं के AutoPay flow का पालन करती हैं और इससे प्रभावित नहीं होतीं।
आप तीन levels पर ₹15,000 के system default को override कर सकते हैं: Dodo Payments पहले set की गई value का उपयोग करता है: per-request override, फिर merchant setting, और फिर system default। Floor सेट करने के लिए, checkout session बनाते समय request body में mandate_min_amount_inr_paise pass करें। Deprecated Create Subscription endpoint भी इसी field को स्वीकार करता है।
Field इन values को स्वीकार करता है:
अधिक ऊंचा floor आपको बाद में बड़े one-off charges, जैसे plan upgrades या usage-based overages, लेने देता है, बिना customers से फिर से authorize करने को कहे। कम floor customer के authorization को actual billing amount के करीब रखता है, लेकिन future variable charges के लिए कम जगह छोड़ता है।

48-Hour Processing Delay

किसी भारतीय card या UPI पर renewal charge, renewal date के लगभग 48 घंटे बाद complete होता है। यह international card payments से सबसे महत्वपूर्ण अंतर है:
1

Charge Initiated (Day 0)

Scheduled renewal date पर Dodo Payments bank के साथ charge initiate करता है।
2

Pre-Debit Notification

Customer का bank उन्हें आगामी debit के बारे में notify करता है।
3

48-Hour Window

इस अवधि के दौरान customer अपने banking app में mandate cancel कर सकता है।
4

Debit Completed (~48-51 Hours)

48 घंटे के बाद, और bank processing के लिए अधिकतम 3 अतिरिक्त घंटे के बाद, bank funds debit करता है।
5

Webhook Sent

Dodo Payments actual debit के बाद payment.succeeded webhook भेजता है, charge initiate होने पर नहीं।
Charge initiate होने पर benefits न दें। payment.succeeded webhook की प्रतीक्षा करें, जो scheduled charge date के लगभग 48–51 घंटे बाद आता है।

48-Hour Window को संभालना

Access renewal date से नहीं, payment webhook से grant करें:

Indian Subscriptions के लिए Webhook Events

UPI या भारतीय-जारी cards से paid subscriptions के लिए इन events को handle करें:

Testing

UPI Test IDs

Test mode में प्रत्येक outcome simulate करने के लिए ये UPI IDs enter करें:

Indian Card Test Numbers

इन भारतीय-जारी test cards का उपयोग करें:

Best Practices

अपने application को charge initiation और actual payment के बीच के अंतराल को संभालने के लिए बनाएं। इन बातों पर विचार करें:
  • Subscription access के लिए grace periods
  • Processing time के बारे में customers के साथ स्पष्ट communication
  • Date-driven fulfillment के बजाय webhook-driven fulfillment
Customers अपने banking apps में किसी भी समय mandates cancel कर सकते हैं। subscription.on_hold webhooks monitor करें और customers को फिर से subscribe करने या अपना payment method update करने के लिए prompt करें।
Variable pricing, जैसे usage-based billing, के लिए जांचें कि mandate floor (default रूप से ₹15,000) पर on-demand mandate आपके सबसे बड़े charge को cover करता है या नहीं। यदि charges इससे अधिक हो सकते हैं, तो mandate_min_amount_inr_paise के साथ floor बढ़ाएं। अन्यथा customers को नए mandate को authorize करना होगा।
भारतीय customers के लिए UPI को primary payment option बनाएं। कई customers cards की तुलना में इसे पसंद करते हैं क्योंकि यह परिचित है और इसमें कम friction है।

Troubleshooting

जांचें:
  1. क्या billing country IN पर set है?
  2. क्या billing currency INR पर set है?
  3. यदि आप भारत के बाहर के merchant हैं, तो क्या Adaptive Currency enabled है?
  4. क्या upi_intent, allowed_payment_method_types में शामिल है?
समाधान: Billing address में country: "IN" और billing_currency: "INR" set करें। यदि Adaptive Currency disabled है, तो API billing_currency को ignore करता है, इसलिए product की price INR में रखें।
कारण: New charge amount existing mandate limit से अधिक है: mandate floor (default रूप से ₹15,000), या यदि subscription amount अधिक है तो वह amount।समाधान: सही limit के साथ नया mandate set up करने के लिए customer को अपना payment method update करना होगा।
कारण: हो सकता है customer ने 48-hour window के दौरान mandate cancel कर दिया हो, या उनके bank ने debit decline कर दिया हो।समाधान: Customer को mandate फिर से authorize करना होगा या अपना payment method update करना होगा।
कारण: Bank API delays processing को 2–3 घंटे तक बढ़ा सकते हैं।समाधान: यह अपेक्षित है। अपने system को कुल मिलाकर लगभग 51 घंटे तक की delays संभालने के लिए बनाएं।
कारण: RBI regulations में edge case: processing window के दौरान mandate cancel करने से subscription तुरंत cancel नहीं होती।समाधान: अगला charge fail हो जाता है और subscription on_hold में चली जाती है। payment.failed के लिए webhooks monitor करें।

संबंधित Pages

Payment Methods Overview

सभी supported payment methods देखें।

Subscriptions

RBI mandates सहित complete subscription documentation।

Webhooks

Payment events के लिए webhook handling।

Testing Process

UPI IDs और Indian cards सहित सभी test data।
अंतिम संशोधन 28 सितंबर 2026