योजना परिवर्तन API संदर्भ
योजना परिवर्तन API पूर्वावलोकन
सदस्यता एकीकरण गाइड
सदस्यता अपग्रेड या डाउनग्रेड क्या है?
योजनाओं को बदलने से आप एक ग्राहक को सदस्यता स्तरों या मात्राओं के बीच स्थानांतरित कर सकते हैं। इसका उपयोग करें:- उपयोग या सुविधाओं के साथ मूल्य संरेखित करने के लिए
- मासिक से वार्षिक (या इसके विपरीत) जाने के लिए
- सीट-आधारित उत्पादों के लिए मात्रा समायोजित करने के लिए
योजना परिवर्तनों का उपयोग कब करें
- अपग्रेड करें जब ग्राहक को अधिक सुविधाओं, उपयोग या सीटों की आवश्यकता हो
- डाउनग्रेड करें जब उपयोग कम हो
- उपयोगकर्ताओं को बिना उनकी सदस्यता रद्द किए नए उत्पाद या मूल्य में स्थानांतरित करें
पूर्वापेक्षाएँ
सदस्यता योजना परिवर्तनों को लागू करने से पहले, सुनिश्चित करें कि आपके पास है:- सक्रिय सदस्यता उत्पादों के साथ एक डोडो पेमेंट्स व्यापारी खाता
- डैशबोर्ड से API क्रेडेंशियल (API कुंजी और वेबहुक गुप्त कुंजी)
- संशोधित करने के लिए एक मौजूदा सक्रिय सदस्यता
- सदस्यता घटनाओं को संभालने के लिए वेबहुक एंडपॉइंट कॉन्फ़िगर किया गया है
चरण-दर-चरण कार्यान्वयन गाइड
अपने एप्लिकेशन में सदस्यता योजना परिवर्तनों को लागू करने के लिए इस व्यापक गाइड का पालन करें:योजना परिवर्तन आवश्यकताओं को समझें
- कौन सी सदस्यता उत्पादों को किन अन्य उत्पादों में बदला जा सकता है
- आपके व्यवसाय मॉडल के लिए कौन सा प्रोरशन मोड उपयुक्त है
- विफल योजना परिवर्तनों को सुचारू रूप से कैसे संभालें
- स्थिति प्रबंधन के लिए कौन से वेबहुक घटनाओं को ट्रैक करें
अपना प्रोरशन रणनीति चुनें
- prorated_immediately
- difference_immediately
- full_immediately
- शेष चक्र समय के आधार पर सटीक प्रोरटेड राशि की गणना करता है
- चक्र में शेष अप्रयुक्त समय के आधार पर प्रोरटेड राशि चार्ज करता है
- ग्राहकों को पारदर्शी बिलिंग प्रदान करता है
परिवर्तन योजना API लागू करें
prorated_immediately, full_immediately, या difference_immediately।वेबहुक घटनाओं को संभालें
subscription.active: योजना परिवर्तन सफल, सदस्यता अपडेट की गईsubscription.plan_changed: सदस्यता योजना बदली गई (अपग्रेड/डाउनग्रेड/ऐडऑन अपडेट)subscription.on_hold: योजना परिवर्तन चार्ज विफल, सदस्यता निलंबितpayment.succeeded: योजना परिवर्तन के लिए तत्काल चार्ज सफलpayment.failed: तत्काल चार्ज विफल
अपने एप्लिकेशन की स्थिति अपडेट करें
- नए योजना के आधार पर सुविधाएँ प्रदान/रद्द करें
- नए योजना विवरण के साथ ग्राहक डैशबोर्ड अपडेट करें
- योजना परिवर्तनों के बारे में पुष्टि ईमेल भेजें
- ऑडिट उद्देश्यों के लिए बिलिंग परिवर्तनों को लॉग करें
परीक्षण और निगरानी
- विभिन्न परिदृश्यों के साथ सभी प्रोरशन मोड का परीक्षण करें
- सत्यापित करें कि वेबहुक हैंडलिंग सही ढंग से काम करती है
- योजना परिवर्तन सफलता दर की निगरानी करें
- विफल योजना परिवर्तनों के लिए अलर्ट सेट करें
योजना परिवर्तनों का पूर्वावलोकन
योजना परिवर्तन की पुष्टि करने से पहले, ग्राहकों को दिखाने के लिए पूर्वावलोकन API का उपयोग करें कि उन्हें सटीक रूप से क्या चार्ज किया जाएगा:- Node.js SDK
- Python SDK
परिवर्तन योजना API
सक्रिय सदस्यता के लिए उत्पाद, मात्रा और प्रोरशन व्यवहार को संशोधित करने के लिए परिवर्तन योजना API का उपयोग करें।त्वरित प्रारंभ उदाहरण
- Node.js SDK
- Python SDK
- Go SDK
- HTTP
invoice_id और payment_id जैसे फ़ील्ड केवल तभी लौटाए जाते हैं जब योजना परिवर्तन के दौरान तत्काल चार्ज और/या चालान बनाया जाता है। हमेशा परिणामों की पुष्टि करने के लिए वेबहुक घटनाओं (जैसे, payment.succeeded, subscription.plan_changed) पर भरोसा करें।ऐडऑन प्रबंधन
सदस्यता योजनाओं को बदलते समय, आप ऐडऑन को भी संशोधित कर सकते हैं:प्रोरशन मोड
योजनाओं को बदलते समय ग्राहक को बिल करने का तरीका चुनें:prorated_immediately
- वर्तमान चक्र में आंशिक अंतर के लिए चार्ज करता है
- यदि परीक्षण में है, तो तुरंत चार्ज करता है और अब नए योजना में स्विच करता है
- डाउनग्रेड: भविष्य के नवीनीकरण के लिए लागू होने वाला प्रोरटेड क्रेडिट उत्पन्न कर सकता है
full_immediately
- नए योजना की पूर्ण राशि तुरंत चार्ज करता है
- पुराने योजना से शेष समय की अनदेखी करता है
difference_immediately का उपयोग करके किए गए डाउनग्रेड द्वारा उत्पन्न क्रेडिट सदस्यता-स्कोप वाले होते हैं और ग्राहक क्रेडिट से भिन्न होते हैं। ये स्वचालित रूप से उसी सदस्यता के भविष्य के नवीनीकरण पर लागू होते हैं और सदस्यताओं के बीच स्थानांतरित नहीं किए जा सकते।difference_immediately
- अपग्रेड: पुराने और नए योजनाओं के बीच मूल्य अंतर को तुरंत चार्ज करें
- डाउनग्रेड: सदस्यता में शेष मूल्य को आंतरिक क्रेडिट के रूप में जोड़ें और नवीनीकरण पर स्वचालित रूप से लागू करें
उदाहरण परिदृश्य
अपग्रेड: बेसिक ($30) → प्रो ($80) के साथ difference_immediately
अपग्रेड: बेसिक ($30) → प्रो ($80) के साथ difference_immediately
डाउनग्रेड: प्लस ($50) → स्टार्ट ($20) के साथ difference_immediately
डाउनग्रेड: प्लस ($50) → स्टार्ट ($20) के साथ difference_immediately
प्रोरटेड_immediately के साथ मध्य चक्र में अपग्रेड
प्रोरटेड_immediately के साथ मध्य चक्र में अपग्रेड
पूर्ण_immediately के साथ बिलिंग रीसेट
पूर्ण_immediately के साथ बिलिंग रीसेट
वेबहुक को संभालना
योजना परिवर्तनों और भुगतानों की पुष्टि करने के लिए वेबहुक के माध्यम से सदस्यता स्थिति को ट्रैक करें।संभालने के लिए घटना प्रकार
subscription.active: सदस्यता सक्रिय की गईsubscription.plan_changed: सदस्यता योजना बदली गई (अपग्रेड/डाउनग्रेड/ऐडऑन परिवर्तन)subscription.on_hold: चार्ज विफल, सदस्यता निलंबितsubscription.renewed: नवीनीकरण सफलpayment.succeeded: योजना परिवर्तन या नवीनीकरण के लिए भुगतान सफलpayment.failed: भुगतान विफल
हस्ताक्षरों की पुष्टि करें और इरादों को संभालें
- Next.js रूट हैंडलर
- Express.js
सर्वोत्तम प्रथाएँ
सदस्यता योजना परिवर्तनों के लिए इन सिफारिशों का पालन करें:योजना परिवर्तन रणनीति
- पूरी तरह से परीक्षण करें: उत्पादन से पहले हमेशा परीक्षण मोड में योजना परिवर्तनों का परीक्षण करें
- प्रोरशन को सावधानी से चुनें: उस प्रोरशन मोड का चयन करें जो आपके व्यवसाय मॉडल के साथ मेल खाता है
- विफलताओं को सुचारू रूप से संभालें: उचित त्रुटि हैंडलिंग और पुनः प्रयास लॉजिक लागू करें
- सफलता दर की निगरानी करें: योजना परिवर्तन सफलता/विफलता दरों को ट्रैक करें और मुद्दों की जांच करें
वेबहुक कार्यान्वयन
- हस्ताक्षरों की पुष्टि करें: प्रामाणिकता सुनिश्चित करने के लिए हमेशा वेबहुक हस्ताक्षरों को मान्य करें
- इडेम्पोटेंसी लागू करें: डुप्लिकेट वेबहुक घटनाओं को सुचारू रूप से संभालें
- असिंक्रोनस रूप से प्रोसेस करें: भारी संचालन के साथ वेबहुक प्रतिक्रियाओं को अवरुद्ध न करें
- सब कुछ लॉग करें: डिबगिंग और ऑडिट उद्देश्यों के लिए विस्तृत लॉग बनाए रखें
उपयोगकर्ता अनुभव
- स्पष्ट रूप से संवाद करें: ग्राहकों को बिलिंग परिवर्तनों और समय के बारे में सूचित करें
- पुष्टिकरण प्रदान करें: सफल योजना परिवर्तनों के लिए ईमेल पुष्टिकरण भेजें
- किनारे के मामलों को संभालें: परीक्षण अवधि, प्रोरशन और विफल भुगतानों पर विचार करें
- UI को तुरंत अपडेट करें: अपने एप्लिकेशन इंटरफ़ेस में योजना परिवर्तनों को दर्शाएं
सामान्य समस्याएँ और समाधान
सदस्यता योजना परिवर्तनों के दौरान उत्पन्न होने वाली सामान्य समस्याओं को हल करें:चार्ज बनाया गया लेकिन सदस्यता अपडेट नहीं हुई
चार्ज बनाया गया लेकिन सदस्यता अपडेट नहीं हुई
- वेबहुक प्रोसेसिंग विफल या विलंबित हुई
- वेबहुक प्राप्त करने के बाद एप्लिकेशन की स्थिति अपडेट नहीं हुई
- स्थिति अपडेट के दौरान डेटाबेस लेनदेन की समस्याएँ
- पुनः प्रयास लॉजिक के साथ मजबूत वेबहुक हैंडलिंग लागू करें
- स्थिति अपडेट के लिए इडेम्पोटेंट ऑपरेशंस का उपयोग करें
- छूटे हुए वेबहुक घटनाओं का पता लगाने और अलर्ट करने के लिए निगरानी जोड़ें
- सुनिश्चित करें कि वेबहुक एंडपॉइंट सुलभ है और सही ढंग से प्रतिक्रिया दे रहा है
डाउनग्रेड के बाद क्रेडिट लागू नहीं हुए
डाउनग्रेड के बाद क्रेडिट लागू नहीं हुए
- प्रोरशन मोड की अपेक्षाएँ: डाउनग्रेड
difference_immediatelyके साथ पूर्ण योजना मूल्य अंतर का क्रेडिट देते हैं, जबकिprorated_immediatelyचक्र में शेष समय के आधार पर प्रोरटेड क्रेडिट उत्पन्न करता है - क्रेडिट सदस्यता-विशिष्ट होते हैं और सदस्यताओं के बीच स्थानांतरित नहीं होते
- ग्राहक डैशबोर्ड में क्रेडिट बैलेंस दिखाई नहीं देता है
- जब आप स्वचालित क्रेडिट चाहते हैं तो डाउनग्रेड के लिए
difference_immediatelyका उपयोग करें - ग्राहकों को समझाएं कि क्रेडिट उसी सदस्यता के भविष्य के नवीनीकरण पर लागू होते हैं
- क्रेडिट बैलेंस दिखाने के लिए ग्राहक पोर्टल लागू करें
- लागू क्रेडिट देखने के लिए अगले चालान पूर्वावलोकन की जांच करें
वेबहुक हस्ताक्षर सत्यापन विफल
वेबहुक हस्ताक्षर सत्यापन विफल
- गलत वेबहुक गुप्त कुंजी
- हस्ताक्षर सत्यापन से पहले कच्चे अनुरोध शरीर में संशोधन किया गया
- गलत हस्ताक्षर सत्यापन एल्गोरिदम
- सुनिश्चित करें कि आप डैशबोर्ड से सही
DODO_WEBHOOK_SECRETका उपयोग कर रहे हैं - किसी भी JSON पार्सिंग मिडलवेयर से पहले कच्चे अनुरोध शरीर को पढ़ें
- अपने प्लेटफ़ॉर्म के लिए मानक वेबहुक सत्यापन पुस्तकालय का उपयोग करें
- विकास वातावरण में वेबहुक हस्ताक्षर सत्यापन का परीक्षण करें
योजना परिवर्तन 422 त्रुटि के साथ विफल
योजना परिवर्तन 422 त्रुटि के साथ विफल
- अवैध सदस्यता ID या उत्पाद ID
- सदस्यता सक्रिय स्थिति में नहीं है
- आवश्यक पैरामीटर गायब हैं
- योजना परिवर्तनों के लिए उत्पाद उपलब्ध नहीं है
- सुनिश्चित करें कि सदस्यता मौजूद है और सक्रिय है
- जांचें कि उत्पाद ID मान्य और उपलब्ध है
- सुनिश्चित करें कि सभी आवश्यक पैरामीटर प्रदान किए गए हैं
- पैरामीटर आवश्यकताओं के लिए API दस्तावेज़ की समीक्षा करें
योजना परिवर्तन के दौरान तत्काल चार्ज विफल
योजना परिवर्तन के दौरान तत्काल चार्ज विफल
- ग्राहक के भुगतान विधि पर अपर्याप्त धन
- भुगतान विधि समाप्त या अवैध
- बैंक ने लेनदेन को अस्वीकृत किया
- धोखाधड़ी पहचान ने चार्ज को अवरुद्ध कर दिया
payment.failedवेबहुक घटनाओं को उचित रूप से संभालें- ग्राहक को भुगतान विधि अपडेट करने के लिए सूचित करें
- अस्थायी विफलताओं के लिए पुनः प्रयास लॉजिक लागू करें
- विफल तत्काल चार्ज के साथ योजना परिवर्तनों की अनुमति देने पर विचार करें
योजना परिवर्तन के बाद सदस्यता होल्ड पर
योजना परिवर्तन के बाद सदस्यता होल्ड पर
on_hold स्थिति में चली जाती हैक्या होता है:
जब योजना परिवर्तन चार्ज विफल होता है, तो सदस्यता स्वचालित रूप से on_hold स्थिति में रखी जाती है। सदस्यता तब तक स्वचालित रूप से नवीनीकरण नहीं करेगी जब तक कि भुगतान विधि अपडेट न हो।समाधान: सदस्यता को पुनः सक्रिय करने के लिए भुगतान विधि अपडेट करेंएक विफल योजना परिवर्तन के बाद on_hold स्थिति से सदस्यता को पुनः सक्रिय करने के लिए:- भुगतान विधि अपडेट करें Update Payment Method API का उपयोग करके
- स्वचालित चार्ज निर्माण: API स्वचालित रूप से बकाया के लिए चार्ज बनाता है
- चालान निर्माण: चार्ज के लिए एक चालान उत्पन्न होता है
- भुगतान प्रोसेसिंग: नए भुगतान विधि का उपयोग करके भुगतान प्रोसेस किया जाता है
- पुनः सक्रियण: सफल भुगतान पर, सदस्यता को
activeस्थिति में पुनः सक्रिय किया जाता है
subscription.on_hold: सदस्यता होल्ड पर रखी गई (जब योजना परिवर्तन चार्ज विफल होता है)payment.succeeded: शेष बकाया के लिए भुगतान सफल (भुगतान विधि अपडेट करने के बाद)subscription.active: सफल भुगतान के बाद सदस्यता पुनः सक्रिय की गई
- जब योजना परिवर्तन चार्ज विफल होता है तो ग्राहकों को तुरंत सूचित करें
- उनकी भुगतान विधि अपडेट करने के लिए स्पष्ट निर्देश प्रदान करें
- पुनः सक्रियण स्थिति को ट्रैक करने के लिए वेबहुक घटनाओं की निगरानी करें
- अस्थायी भुगतान विफलताओं के लिए स्वचालित पुनः प्रयास लॉजिक लागू करने पर विचार करें
भुगतान विधि अपडेट API संदर्भ
अपने कार्यान्वयन का परीक्षण करना
अपने सदस्यता योजना परिवर्तन कार्यान्वयन का पूरी तरह से परीक्षण करने के लिए इन चरणों का पालन करें:परीक्षण वातावरण सेट करें
- परीक्षण API कुंजी और परीक्षण उत्पादों का उपयोग करें
- विभिन्न योजना प्रकारों के साथ परीक्षण सदस्यता बनाएं
- परीक्षण वेबहुक एंडपॉइंट कॉन्फ़िगर करें
- निगरानी और लॉगिंग सेट करें
विभिन्न प्रोरशन मोड का परीक्षण करें
- विभिन्न बिलिंग चक्र स्थितियों के साथ
prorated_immediatelyका परीक्षण करें - अपग्रेड और डाउनग्रेड के लिए
difference_immediatelyका परीक्षण करें - बिलिंग चक्र को रीसेट करने के लिए
full_immediatelyका परीक्षण करें - सुनिश्चित करें कि क्रेडिट गणनाएँ सही हैं
वेबहुक हैंडलिंग का परीक्षण करें
- सुनिश्चित करें कि सभी प्रासंगिक वेबहुक घटनाएँ प्राप्त हो रही हैं
- वेबहुक हस्ताक्षर सत्यापन का परीक्षण करें
- डुप्लिकेट वेबहुक घटनाओं को सुचारू रूप से संभालें
- वेबहुक प्रोसेसिंग विफलता परिदृश्यों का परीक्षण करें
त्रुटि परिदृश्यों का परीक्षण करें
- अवैध सदस्यता IDs के साथ परीक्षण करें
- समाप्त भुगतान विधियों के साथ परीक्षण करें
- नेटवर्क विफलताओं और टाइमआउट के साथ परीक्षण करें
- अपर्याप्त धन के साथ परीक्षण करें
उत्पादन में निगरानी करें
- विफल योजना परिवर्तनों के लिए अलर्ट सेट करें
- वेबहुक प्रोसेसिंग समय की निगरानी करें
- योजना परिवर्तन सफलता दर को ट्रैक करें
- योजना परिवर्तन मुद्दों के लिए ग्राहक सहायता टिकट की समीक्षा करें
त्रुटि हैंडलिंग
अपने कार्यान्वयन में सामान्य API त्रुटियों को सुचारू रूप से संभालें:HTTP स्थिति कोड
200 OK
200 OK
400 Bad Request
400 Bad Request
401 Unauthorized
401 Unauthorized
404 Not Found
404 Not Found
422 Unprocessable Entity
422 Unprocessable Entity
500 Internal Server Error
500 Internal Server Error
त्रुटि प्रतिक्रिया प्रारूप
अगले कदम
- परिवर्तन योजना API की समीक्षा करें
- ग्राहक क्रेडिट का अन्वेषण करें
subscription.on_holdके लिए अलर्ट लागू करें- हमारे वेबहुक एकीकरण गाइड को देखें