पूर्वापेक्षाएँ
डोडो पेमेंट्स API को एकीकृत करने के लिए, आपको आवश्यकता होगी:- एक डोडो पेमेंट्स व्यापारी खाता
- डैशबोर्ड से API क्रेडेंशियल्स (API कुंजी और वेबहुक गुप्त कुंजी)
API एकीकरण
चेकआउट सत्र
Use Checkout Sessions to sell subscription products with a secure, hosted checkout. Pass your subscription product inproduct_cart and redirect customers to the returned checkout_url.
- Node.js SDK
- Python SDK
- REST API
API प्रतिक्रिया
निम्नलिखित प्रतिक्रिया का एक उदाहरण है:checkout_url पर पुनर्निर्देशित करें।
वेबहुक
सदस्यताओं को एकीकृत करते समय, आपको सदस्यता जीवनचक्र को ट्रैक करने के लिए वेबहुक प्राप्त होंगे। ये वेबहुक आपको सदस्यता की स्थिति और भुगतान परिदृश्यों को प्रभावी ढंग से प्रबंधित करने में मदद करते हैं। अपने वेबहुक एंडपॉइंट को सेट करने के लिए, कृपया हमारे विस्तृत एकीकरण गाइड का पालन करें।सदस्यता घटना प्रकार
निम्नलिखित वेबहुक घटनाएँ सदस्यता स्थिति परिवर्तनों को ट्रैक करती हैं:subscription.active- Subscription सफलतापूर्वक सक्रिय हो गई है।subscription.updated- Subscription ऑब्जेक्ट अपडेट हो गया था (कोई भी फ़ील्ड बदलते ही ट्रिगर होता है)।subscription.on_hold- असफल नवीनीकरण के कारण Subscription को होल्ड पर रखा गया है।subscription.failed- मैनडेट बनाने के दौरान Subscription निर्माण विफल हो गया।subscription.renewed- Subscription अगले बिलिंग अवधि के लिए नवीनीकृत कर दी गई है।
भुगतान परिदृश्य
सफल भुगतान प्रवाह जब एक भुगतान सफल होता है, तो आपको निम्नलिखित वेबहुक प्राप्त होंगे:subscription.active- Subscription सक्रियता को दर्शाता हैpayment.succeeded- प्रारंभिक भुगतान की पुष्टि करता है:- तत्काल बिलिंग (0 ट्रायल दिन): 2-10 मिनट के भीतर अपेक्षित
- ट्रायल दिनों के लिए: जब भी वह समाप्त होता है
subscription.renewed- अगले चक्र के लिए भुगतान कटौती और नवीनीकरण को दर्शाता है। (मूलतः, जब भी subscription उत्पादों के लिए भुगतान कटता है, आपकोsubscription.renewedwebhook मिलेगाpayment.succeededके साथ)
- Subscription Failure
subscription.failed- Subscription निर्माण मैनडेट बनाने में विफल रहने के कारण असफल रहा।payment.failed- असफल भुगतान को दर्शाता है।
- Subscription On Hold
subscription.on_hold- Subscription को असफल नवीनीकरण भुगतान या असफल योजना परिवर्तन शुल्क के कारण होल्ड पर रखा गया है।- जब Subscription होल्ड पर जाती है, तब तक यह स्वचालित रूप से नवीनीकृत नहीं होगी जब तक भुगतान विधि को अपडेट न किया जाए।
Best Practice: कार्यान्वयन को सरल बनाने के लिए, हम सलाह देते हैं कि आप Subscription जीवनचक्र प्रबंधन के लिए मुख्यतः Subscription ईवेंट्स को ट्रैक करें।
सदस्यता होल्ड पर रखने का प्रबंधन
जब Subscriptionon_hold अवस्था में प्रवेश करती है, तो इसे पुनः सक्रिय करने के लिए आपको भुगतान विधि अपडेट करनी होती है। यह अनुभाग बताता है कि Subscription कब होल्ड पर जाती हैं और उनका कैसे प्रबंध करें।
जब सदस्यताएँ होल्ड पर जाती हैं
एक सदस्यता को होल्ड पर रखा जाता है जब:- नवीनीकरण भुगतान विफल: स्वचालित नवीनीकरण शुल्क अपर्याप्त धन, समाप्त कार्ड, या बैंक द्वारा अस्वीकृति के कारण विफल हो जाता है
- योजना परिवर्तन शुल्क विफल: योजना अपग्रेड/डाउनग्रेड के दौरान तत्काल शुल्क विफल हो जाता है
- भुगतान विधि प्राधिकरण विफल: भुगतान विधि को आवर्ती शुल्क के लिए प्राधिकृत नहीं किया जा सकता है
होल्ड से सदस्यताओं को पुनः सक्रिय करना
on_hold अवस्था से Subscription को पुनः सक्रिय करने के लिए Update Payment Method API का उपयोग करें। यह स्वचालित रूप से:
- शेष बकाया के लिए एक चार्ज बनाता है
- चार्ज के लिए एक इनवॉइस बनाता है
- नई भुगतान विधि का उपयोग करके भुगतान संसाधित करता है
- सफल भुगतान पर Subscription को
activeस्थिति में पुनः सक्रिय करता है
Handle subscription.on_hold webhook
जब आपको
subscription.on_hold webhook प्राप्त हो, तो अपनी एप्लिकेशन स्थिति अपडेट करें और ग्राहक को सूचित करें:Update payment method
जब ग्राहक अपनी भुगतान विधि अपडेट करने के लिए तैयार हो, तो Update Payment Method API को कॉल करें:
यदि ग्राहक ने भुगतान विधियाँ सहेजी हैं, तो आप मौजूदा भुगतान विधि आईडी का भी उपयोग कर सकते हैं:
सदस्यता घटना पेलोड का उदाहरण
| Property | Type | Required | Description |
|---|---|---|---|
business_id | string | Yes | व्यवसाय के लिए अद्वितीय पहचानकर्ता |
timestamp | string | Yes | घटना कब हुई इसका टाइमस्टैम्प (ज़रूरी नहीं कि वह डिलीवर होने के समय के समान हो) |
type | string | Yes | ईवेंट का प्रकार। देखें Event Types |
data | object | Yes | मुख्य डेटा पेलोड। देखें Data Object |
सदस्यता योजनाएँ बदलना
आप परिवर्तन योजना API एंडपॉइंट का उपयोग करके सदस्यता योजना को अपग्रेड या डाउनग्रेड कर सकते हैं। यह आपको सदस्यता के उत्पाद, मात्रा को संशोधित करने और प्रोरशन को संभालने की अनुमति देता है।Change Plan API Reference
योजना बदलने से संबंधित विस्तृत जानकारी के लिए, कृपया हमारे Change Plan API दस्तावेज़ देखें।
प्रोरशन विकल्प
सदस्यता योजनाओं को बदलते समय, आपके पास तत्काल शुल्क को संभालने के लिए दो विकल्प होते हैं:1. prorated_immediately
- यह वर्तमान बिलिंग चक्र में शेष समय के आधार पर प्रोरैटेड राशि की गणना करता है
- ग्राहक को केवल पुराने और नए योजना के बीच के अंतर के लिए ही चार्ज करता है
- परीक्षण अवधि के दौरान, यह तुरंत उपयोगकर्ता को नई योजना में स्विच करता है और ग्राहक से तुरंत शुल्क वसूल करता है
2. full_immediately
- ग्राहक से नई योजना के लिए पूरा सदस्यता राशि वसूलता है
- पिछली योजना के किसी भी शेष समय या क्रेडिट को अनदेखा करता है
- तब उपयोगी जब आप बिलिंग चक्र को रीसेट करना चाहते हैं या प्रोरैशन की परवाह किए बिना पूरा नया योजना राशि वसूलना चाहते हैं
3. difference_immediately
- अपग्रेड करते समय, ग्राहक से दो योजनाओं की राशि के बीच का अंतर तुरंत वसूला जाता है।
- उदाहरण के लिए, यदि वर्तमान योजना 30 Dollars है और ग्राहक 80 Dollars योजना में अपग्रेड करता है, तो उन्हें तुरंत 50 डॉलर चार्ज किया जाता है।
- डाउनग्रेड करते समय, वर्तमान योजना से अप्रयुक्त राशि आंतरिक क्रेडिट के रूप में जोड़ी जाती है और भविष्य की सदस्यता नवीनीकरणों पर स्वचालित रूप से लागू होती है।
- उदाहरण के लिए, यदि वर्तमान योजना 50 Dollars है और ग्राहक 20 Dollars योजना पर स्विच करता है, तो शेष $30 को क्रेडिट किया जाता है और अगले बिलिंग चक्र के लिए उपयोग किया जाता है।
व्यवहार
- जब आप इस API को कॉल करते हैं, तो Dodo Payments आपके चुने हुए प्रोरैशन विकल्प के आधार पर तुरंत एक चार्ज शुरू करता है
- यदि योजना परिवर्तन डाउनग्रेड है और आप
prorated_immediatelyका उपयोग करते हैं, तो क्रेडिट स्वचालित रूप से गिनती जाती है और Subscription के क्रेडिट बैलेंस में जोड़ी जाती है। ये क्रेडिट उस Subscription तक ही सीमित होते हैं और केवल उसी Subscription के भविष्य के आवर्ती भुगतानों को ऑफसेट करने के लिए उपयोग होंगे full_immediatelyविकल्प क्रेडिट गणनाओं को बायपास करता है और नए योजना राशि का पूरा भुगतान वसूलता है
शुल्क प्रसंस्करण
- योजना परिवर्तन पर शुरू किया गया तत्काल शुल्क आमतौर पर 2 मिनट से कम समय में प्रसंस्कृत होता है
- यदि यह तत्काल शुल्क किसी भी कारण से विफल होता है, तो सदस्यता स्वचालित रूप से होल्ड पर रखी जाती है जब तक कि समस्या का समाधान नहीं हो जाता
ऑन-डिमांड सदस्यताएँ
On-demand subscriptions आपको ग्राहकों से लचीले ढंग से शुल्क लेने देती हैं, सिर्फ एक निश्चित समय-सारिणी पर नहीं। यह सुविधा सभी खातों के लिए उपलब्ध है।
on_demand फील्ड शामिल करें। यह आपको तत्काल चार्ज के बिना एक भुगतान विधि को अधिकृत करने या एक कस्टम प्रारंभिक कीमत सेट करने की अनुमति देता है।
एक ऑन-डिमांड सदस्यता को चार्ज करने के लिए:
अगले चार्ज के लिए, POST /subscriptions/charge एंडपॉइंट का उपयोग करें और उस लेनदेन के लिए ग्राहक से चार्ज करने के लिए राशि निर्दिष्ट करें।
पूर्ण, चरण-दर-चरण मार्गदर्शिका — जिसमें रिक्वेस्ट/रिस्पांस उदाहरण, सुरक्षित रीट्राई नीतियाँ, और webhook हैंडलिंग शामिल है — के लिए On-Demand Subscriptions Guide देखें।