पूर्वापेक्षाएँ
डोडो पेमेंट्स 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 पर रीडायरेक्ट करें।
Webhooks
सब्सक्रिप्शन को एकीकृत करते समय, आपको सब्सक्रिप्शन जीवनचक्र को ट्रैक करने के लिए वेबहुक प्राप्त होंगे। ये वेबहूक आपको सब्सक्रिप्शन स्थितियों और भुगतान परिदृश्यों को प्रभावी ढंग से प्रबंधित करने में मदद करते हैं। अपना वेबहुक एंडपॉइंट सेट अप करने के लिए, कृपया हमारे विस्तृत इंटीग्रेशन गाइड का पालन करें।सब्सक्रिप्शन इवेंट प्रकार
निम्नलिखित वेबहूक इवेंट्स सब्सक्रिप्शन स्थिति परिवर्तनों को ट्रैक करते हैं:subscription.active- सब्सक्रिप्शन सफलतापूर्वक सक्रिय है।subscription.updated- सब्सक्रिप्शन ऑब्जेक्ट अपडेट किया गया था (किसी भी फ़ील्ड में बदलाव पर फायर होता है)।subscription.on_hold- असफल रिन्यूअल के कारण सब्सक्रिप्शन होल्ड पर है।subscription.failed- मैंडेट निर्माण के दौरान सब्सक्रिप्शन निर्माण विफल रहा।subscription.renewed- अगली बिलिंग अवधि के लिए सब्सक्रिप्शन का नवीनीकरण किया गया।
भुगतान परिदृश्य
सफल भुगतान प्रवाह जब एक भुगतान सफल होता है, तो आपको निम्नलिखित वेबहूक प्राप्त होंगे:subscription.active- सब्सक्रिप्शन सक्रियण को सूचित करता हैpayment.succeeded- प्रारंभिक भुगतान की पुष्टि करता है:- तत्काल बिलिंग के लिए (0 परीक्षण दिन): 2-10 मिनट के भीतर अपेक्षित
- परीक्षण दिनों के लिए: जब भी वह समाप्त होता है
subscription.renewed- अगले चक्र के लिए भुगतान कटौती और नवीनीकरण को इंगित करता है। (मूल रूप से, जब भी सब्सक्रिप्शन उत्पादों के लिए भुगतान कटौती होती है, आपकोsubscription.renewedवेबहूकpayment.succeededके साथ मिल जाएगा)
- सब्सक्रिप्शन विफलता
subscription.failed- मैंडेट बनाने में असमर्थता के कारण सब्सक्रिप्शन निर्माण विफल।payment.failed- असफल भुगतान बताता है।
- सब्सक्रिप्शन होल्ड पर
subscription.on_hold- असफल रिन्यूअल भुगतान या प्लान परिवर्तन शुल्क के कारण सब्सक्रिप्शन होल्ड पर है।- जब एक सब्सक्रिप्शन होल्ड पर जाता है, तो यह स्वचालित रूप से नवीनीकरण नहीं करेगा जब तक कि भुगतान विधि अपडेट नहीं की जाती।
सर्वोत्तम अभ्यास: कार्यान्वयन को सरल बनाने के लिए, हम सब्सक्रिप्शन जीवनचक्र प्रबंधन के लिए मुख्यतः सब्सक्रिप्शन इवेंट्स को ट्रैक करने की सलाह देते हैं।
subscription.failed बनाम subscription.on_hold
ये दो इवेंट्स भ्रमित करना आसान हैं, लेकिन इन्हें बहुत अलग तरीके से संभालने की आवश्यकता है:
होल्ड पर सब्सक्रिप्शन को संभालना
जब कोई सब्सक्रिप्शनon_hold स्थिति में प्रवेश करता है, तो उसे पुनः सक्रिय करने के लिए भुगतान विधि अपडेट करनी होगी। यह खंड निम्नलिखित पर चर्चा करता है कि सब्सक्रिप्शन कब होल्ड पर जाते हैं और उन्हें कैसे संभालें।
सब्सक्रिप्शन कब होल्ड पर जाते हैं
एक सब्सक्रिप्शन होल्ड पर तब जाता है जब:- रिन्यूअल भुगतान विफल हो जाता है: अपर्याप्त धनराशि, समाप्त कार्ड, या बैंक अस्वीकृति के कारण स्वत: नवीनीकरण शुल्क विफल हो जाता है
- प्लान परिवर्तन शुल्क विफल होता है: प्लान अपग्रेड/डाउनग्रेड के दौरान तत्काल शुल्क विफल हो जाता है
- भुगतान विधि प्राधिकरण विफल होता है: आवर्ती शुल्क के लिए भुगतान विधि को अधिकृत नहीं किया जा सकता
होल्ड से सब्सक्रिप्शन को पुनः सक्रिय करना
on_hold स्थिति से सब्सक्रिप्शन को पुनः सक्रिय करने के लिए, भुगतान विधि अपडेट API का उपयोग करें। यह स्वचालित रूप से:
- शेष बकाया के लिए एक शुल्क बनाता है
- शुल्क के लिए एक चालान उत्पन्न करता है
- नए भुगतान विधि का उपयोग करके भुगतान को संसाधित करता है
- सफल भुगतान होने पर सब्सक्रिप्शन को
activeस्थिति में पुनः सक्रिय करता है
1
Handle subscription.on_hold webhook
जब आपको
subscription.on_hold वेबहूक प्राप्त होता है, तो अपने एप्लिकेशन की स्थिति अपडेट करें और ग्राहक को सूचित करें:2
Update payment method
जब ग्राहक अपनी भुगतान विधि अपडेट करने के लिए तैयार हों, तो भुगतान विधि अपडेट API को कॉल करें:
यदि ग्राहक के पास सहेजी गई भुगतान विधियाँ हैं, तो आप मौजूदा भुगतान विधि आईडी का भी उपयोग कर सकते हैं:
3
Monitor webhook events
भुगतान विधि अपडेट करने के बाद, इन वेबहूक इवेंट्स की निगरानी करें:
payment.succeeded- शेष बकाया के लिए शुल्क सफल रहाsubscription.active- सब्सक्रिप्शन पुनः सक्रिय किया गया है
नमूना सब्सक्रिप्शन इवेंट पेलोड
सब्सक्रिप्शन प्लान बदलना
आप परिवर्तन प्लान API endpoint का उपयोग करके सब्सक्रिप्शन प्लान को अपग्रेड या डाउनग्रेड कर सकते हैं। यह आपको सब्सक्रिप्शन के उत्पाद, मात्रा को संशोधित करने और प्ररेटीकरण को संभालने की अनुमति देता है।Change Plan API Reference
सब्सक्रिप्शन प्लान बदलने के बारे में विस्तृत जानकारी के लिए, कृपया हमारी चेंज प्लान API डोक्यूमेंटेशन देखें।
प्ररेटीकरण विकल्प
सब्सक्रिप्शन प्लान बदलते समय, आपके पास तात्कालिक शुल्क को संभालने के लिए दो विकल्प हैं:1. prorated_immediately
- वर्तमान बिलिंग चक्र में शेष समय के आधार पर प्रोरटेड राशि की गणना करता है
- पुराने और नए प्लान के बीच केवल अंतर के लिए ग्राहक से शुल्क लेता है
- परीक्षण अवधि के दौरान, यह उपयोगकर्ता को तुरंत नए प्लान पर स्विच करेगा, ग्राहक से तुरंत शुल्क लेगा
2. full_immediately
- नए प्लान के लिए ग्राहक से पूरा सब्सक्रिप्शन राशि का शुल्क लेता है
- पिछले प्लान से शेष समय या क्रेडिट्स को नजरअंदाज करता है
- जब आप बिलिंग चक्र को रीसेट करना चाहते हैं या प्ररेटीकरण की परवाह किए बिना पूरी राशि चार्ज करना चाहते हैं, तो यह उपयोगी है
3. difference_immediately
- अपग्रेड करते समय, ग्राहक से तुरंत दोनों प्लान्स की राशि के अंतर का शुल्क लिया जाता है।
- उदाहरण के लिए, यदि वर्तमान प्लान 80 में अपग्रेड करता है, तो उनसे तुरंत $50 का शुल्क लिया जाता है।
- डाउनग्रेड करते समय, वर्तमान प्लान का अप्रयुक्त राशि आंतरिक क्रेडिट के रूप में जोड़ी जाती है और स्वचालित रूप से भविष्य के सब्सक्रिप्शन नवीनीकरणों में लागू होती है।
- उदाहरण के लिए, यदि वर्तमान प्लान 20 प्लान पर स्विच करता है, तो शेष $30 क्रेडिट के रूप में सहेजा जाता है और अगले बिलिंग चक्र में लागू होता है।
व्यवहार
- जब आप इस API का उपयोग करते हैं, तो डोडो पेमेंट्स आपके चयनित प्ररेटीकरण विकल्प के आधार पर तुरंत एक शुल्क आरंभ करता है
- यदि प्लान परिवर्तन एक डाउनग्रेड है और आप
prorated_immediatelyउपयोग करते हैं, तो क्रेडिट्स स्वचालित रूप से गणना की जाएगी और सब्सक्रिप्शन के क्रेडिट बैलेंस में जोड़ी जाएगी। ये क्रेडिट्स उस सब्सक्रिप्शन के लिए विशिष्ट होते हैं और केवल उसी सब्सक्रिप्शन के भविष्य के आवर्ती भुगतान को ऑफसेट करने के लिए उपयोग किए जाएंगे full_immediatelyविकल्प क्रेडिट गणनाओं को बायपास करता है और पूरी नई योजना की राशि का शुल्क लेता है
चार्ज प्रोसेसिंग
- प्लान परिवर्तन पर आरंभ किया गया तात्कालिक शुल्क सामान्यतः 2 मिनट से कम समय में प्रोसेसिंग पूर्ण कर लेता है
- यदि यह तत्काल शुल्क किसी कारण असफल होता है, तो सब्सक्रिप्शन को स्वतः होल्ड पर कर दिया जाता है जब तक कि समस्या हल न हो जाए
ऑन-डिमांड सब्सक्रिप्शन
ऑन-डिमांड सब्सक्रिप्शंस आपको ग्राहकों से लचीले तरीके से शुल्क लेने की अनुमति देते हैं, न कि केवल एक निश्चित अनुसूची पर। यह सुविधा सभी खातों के लिए उपलब्ध है।
on_demand फ़ील्ड शामिल करें। यह आपको बिना तत्काल शुल्क या एक कस्टम शुरुआती मूल्य सेट किए बिना भुगतान विधि को अधिकृत करने की अनुमति देता है।
एक ऑन-डिमांड सब्सक्रिप्शन चार्ज करने के लिए:
बाद के चार्ज के लिए, POST /subscriptions//charge endpoint का उपयोग करें और उस लेन-देन के लिए ग्राहक से शुल्क लेने की राशि निर्दिष्ट करें।
आवश्यक चरण-दर-चरण गाइड के लिए—जिसमें अनुरोध/प्रतिक्रिया उदाहरण, सुरक्षित पुनः प्रयास नीतियाँ, और वेबहूक हैंडलिंग शामिल हैं— देखें ऑन-डिमांड सब्सक्रिप्शंस गाइड।
संबंधित API संदर्श
Create Subscription
सब्सक्रिप्शन उत्पाद बनाने और सब्सक्रिप्शन जीवनचक्र प्रबंधन के लिए API संदर्श
Change Subscription Plan
प्ररेटीकरण विकल्पों के साथ सब्सक्रिप्शन प्लान को अपग्रेड, डाउनग्रेड, या बदलने के लिए API संदर्श
Update Payment Method
होल्ड पर सब्सक्रिप्शंस को पुनः सक्रिय करने के लिए API संदर्श
Patch Subscription
सब्सक्रिप्शन विवरणों और कॉन्फ़िगरेशन को अपडेट करने के लिए API संदर्श