Codex · III

सब्सक्रिप्शन

सब्सक्रिप्शन

Coin Moebius आपके मेनू में हर फ़िएट प्रोवाइडर पर नियमित सब्सक्रिप्शन बेच सकता है। व्यापारी किसी उत्पाद पर कीमत और अंतराल एक बार कॉन्फ़िगर करता है; साइट पर बाय बटन बिल्कुल वैसा ही रहता है। पेमेंट प्रोवाइडर नियमित बिलिंग चलाता है, कार्ड रखता है, विफल नवीनीकरण फिर से करता है, और रद्दीकरण पेज होस्ट करता है। Coin Moebius जीवनचक्र इवेंट्स को आपके कोड तक पहुंचाता है।

एक नियमित उत्पाद सेट करना

डैशबोर्ड के Products टैब में, Billing फ़ील्ड को One-time के बजाय Monthly या Annual पर सेट करें। पहले चार्ज से पहले आप जो भी ट्रायल दिन देना चाहते हैं उनके लिए एक वैकल्पिक Free trial फ़ील्ड दिखता है। उत्पाद सेव करें।

बाय बटन HTML नहीं बदलता। वही product-id="pro-plan" एट्रिब्यूट एक बार के या नियमित के लिए काम करता है; worker चेकआउट के समय उत्पाद की बिलिंग सेटिंग जांचता है और लागू होने पर प्रोवाइडर के सब्सक्रिप्शन API के ज़रिए रूट करता है।

<coin-moebius-buy
  project-id="proj_YOUR_ID"
  product-id="pro-plan"
  label="Subscribe to Pro">
</coin-moebius-buy>

जो आपको नहीं बनाना पड़ता

प्रोवाइडर शेड्यूल चलाता है। हम कार्ड संग्रहित नहीं करते। हम cron जॉब नहीं चलाते। हम विफल चार्ज फिर से नहीं करते। हम dunning ईमेल नहीं भेजते। हम कोई रद्दीकरण पेज होस्ट नहीं करते। सिस्टम का वह पूरा पक्ष Stripe (या जो भी फ़िएट प्रोवाइडर आपने कनेक्ट किया) के अंदर रहता है। आप नियमित बिलिंग के कठिन हिस्से उस कंपनी को आउटसोर्स कर रहे हैं जो उन्हें पहले से लाखों व्यापारियों के लिए चला रही है।

सब्सक्रिप्शन इवेंट्स

नवीनीकरण और रद्दीकरण वेबहुक इवेंट्स के रूप में दिखते हैं जिन पर आपका सर्वर प्रतिक्रिया दे सकता है। पांच सामान्यीकृत प्रकार जीवनचक्र को कवर करते हैं:

इवेंटयह कब चलता है
subscription.createdनया साइनअप। पहले चक्र की राशि साथ लाता है।
subscription.renewedएक गैर-प्रारंभिक चक्र सफल रहा। नई अवधि के अंत तक पहुंच बढ़ाएं।
subscription.payment_failedकिसी चक्र का कार्ड अस्वीकृत हुआ। प्रोवाइडर का dunning अपने शेड्यूल पर फिर से कोशिश करता है; आप आमतौर पर इसे बस दृश्यता के लिए लॉग करते हैं।
subscription.canceledअंतिम रद्दीकरण। खरीदार ने रद्द किया, dunning समाप्त हो गया, या व्यापारी ने रद्द किया।
subscription.updatedस्थिति बदलाव, कार्ड अपडेट, प्लान बदलाव। नई स्थिति का निरीक्षण करें।

खरीदारों को संग्रहित किए बिना पहचानना

Coin Moebius एक पेमेंट राउटर है, कोई ग्राहक डेटाबेस नहीं। हम खरीदार के ईमेल, नाम, पते, या प्रोवाइडर की आंतरिक customer id कभी संग्रहित नहीं करते। अगर आपके एप्लिकेशन में उपयोगकर्ता खाते हैं (ज़्यादातर सब्सक्रिप्शन ऐप में होते हैं), तो बाय बटन पर अपनी खुद की अपारदर्शी user id को customer-ref के रूप में पास करें। बटन इसे worker को metadata.customerRef के रूप में आगे भेजता है, हम इसे प्रोवाइडर तक पहुंचाते हैं, हर इवेंट पर वापस दिखाते हैं, और केवल वह अपारदर्शी स्ट्रिंग संग्रहित करते हैं। हमारे लिए यह अर्थहीन है; आपके लिए यह आपके अपने उपयोगकर्ता सिस्टम में foreign key है।

<coin-moebius-buy
  project-id="proj_YOUR_ID"
  product-id="pro-plan"
  customer-ref="user_bob_42">
</coin-moebius-buy>

जब आपको गहरा खरीदार विवरण चाहिए (ईमेल, कार्ड के अंतिम चार अंक, विवाद नोट्स), तो डैशबोर्ड हर कार्ड लेन-देन को उस प्रोवाइडर का लिंक देता है जिसने इसे संभाला (Stripe, PayPal, Square, या Authorize.Net), जहां खरीदार रिकॉर्ड असल में रहता है। आप क्लिक करके पहुंचते हैं; हम इसे कभी नकल नहीं करते।

रद्दीकरण: लिंक दें, बनाएं नहीं

खरीदार प्रोवाइडर के होस्टेड पोर्टल में रद्द करते हैं: Stripe Customer Portal, खरीदार का PayPal खाता पेज, और इसी तरह। पोर्टल रद्दीकरण, कार्ड अपडेट, रसीद डाउनलोड, और प्लान बदलाव संभालता है, यह सब UI जो आपको नहीं बनानी पड़ती। आप एक API कॉल से खरीदार को पोर्टल में पहुंचा सकते हैं:

const res = await fetch(
  `https://api.coinmoebius.com/api/subscriptions/${projectId}/${subId}/portal-url`,
  { method: 'POST', body: JSON.stringify({ returnUrl: 'https://you.example/account' }) },
);
const { url } = await res.json();
window.location.assign(url);

आज कौन से प्रोवाइडर सब्सक्रिप्शन का समर्थन करते हैं

Stripe और PayPal होस्टेड बाय बटन के ज़रिए शुरू से अंत तक काम करते हैं। अपने डैशबोर्ड में किसी उत्पाद को मासिक या वार्षिक पर सेट करें, अपने पेज पर बटन पेस्ट करें, और क्लिक से एक असली सब्सक्रिप्शन शुरू होता है। प्रोवाइडर नवीनीकरण चलाता है।

Square और Authorize.Net सब्सक्रिप्शन होस्टेड बाय बटन के ज़रिए नहीं चलते। आप सब्सक्रिप्शन को प्रोवाइडर के साथ अपने खुद के इंटीग्रेशन के ज़रिए बनाते हैं (Authorize.Net के लिए, इसका मतलब है Accept.js के साथ अपने खुद के पेज पर कार्ड लेना; Square के पास अपना खुद का होस्टेड सब्सक्रिप्शन चेकआउट है जिसे आप इस्तेमाल कर सकते हैं), फिर प्रोवाइडर के वेबहुक को हम पर इंगित करते हैं। वहां से बाकी सिस्टम (वेबहुक रूटिंग, डैशबोर्ड, स्टेटस एंडपॉइंट, ग्राहक लिंकिंग) ठीक उसी तरह काम करता है जैसे Stripe और PayPal सब्सक्रिप्शन के लिए करता है। अगला अनुभाग देखें।

क्रिप्टो प्रोवाइडर (NOWPayments) इस उत्पाद में नियमित बिलिंग का समर्थन नहीं करते। नियमित क्रिप्टो हर उस गेटवे पर बहुत झंझट भरा है जिसका हमने मूल्यांकन किया; हम इसके लिए आधी-टूटी कहानी भेजने के बजाय कुछ न भेजना बेहतर मानेंगे।

इसे जोड़ने के लिए तैयार हैं?

फ्री टियर ज़्यादातर साइटों को कवर करता है और कभी कार्ड नहीं मांगता।