सब्सक्रिप्शन आपको automated renewals के साथ निरंतर access बेचने की सुविधा देते हैं। प्रत्येक customer के लिए pricing को अनुकूलित करने हेतु flexible billing cycles, free trials, plan changes और add-ons का उपयोग करें।
Upgrade & Downgrade
Proration और quantity updates के साथ plan changes नियंत्रित करें।
On‑Demand Subscriptions
अभी mandate authorize करें और custom amounts के साथ बाद में charge करें।
Customer Portal
Customers को plans, billing और cancellations manage करने दें।
Subscription Webhooks
created, renewed और canceled जैसे lifecycle events पर प्रतिक्रिया दें।
सब्सक्रिप्शन क्या हैं?
सब्सक्रिप्शन recurring products होते हैं जिन्हें customers किसी schedule के अनुसार खरीदते हैं। ये इनके लिए आदर्श हैं:- SaaS licenses: Apps, APIs या platform access
- Memberships: Communities, programs या clubs
- Digital content: Courses, media या premium content
- Support plans: SLAs, success packages या maintenance
मुख्य लाभ
- Predictable revenue: Automated renewals के साथ recurring billing
- Flexible cycles: Monthly, annual, custom intervals और trials
- Plan agility: Upgrades और downgrades के लिए proration
- Add-ons और seats: Optional, quantifiable upgrades जोड़ें
- Seamless checkout: Hosted checkout और customer portal
- Developer-first: Creation, changes और usage tracking के लिए स्पष्ट APIs
सब्सक्रिप्शन बनाना
अपने Dodo Payments dashboard में subscription products बनाएं, फिर उन्हें checkout या अपने API के माध्यम से बेचें। Products को active subscriptions से अलग रखने पर आप pricing के versions बना सकते हैं, add-ons जोड़ सकते हैं और performance को स्वतंत्र रूप से track कर सकते हैं।Subscription product creation
अपने subscription की बिक्री, renewal और billing निर्धारित करने के लिए dashboard में fields configure करें। नीचे दिए गए sections creation form में दिखाई देने वाली चीज़ों से सीधे संबंधित हैं।Product details
- Product Name (required): Checkout, customer portal और invoices में दिखाई देने वाला display name।
- Product Description (required): Checkout और invoices में दिखाई देने वाला स्पष्ट value statement।
- Product Image (required): 3 MB तक PNG/JPG/WebP। Checkout और invoices पर उपयोग किया जाता है।
- Brand: Theming और emails के लिए product को किसी specific brand से associate करें।
- Tax Category (required): Tax rules निर्धारित करने के लिए category (उदाहरण के लिए, SaaS) चुनें।
Pricing
- Pricing Type: Subscription चुनें (यह गाइड)। विकल्प हैं Single Payment और Usage Based Billing।
- Price (required): मुद्रा सहित आधार recurring price। कीमत कम से कम $1 (या आपकी चुनी हुई मुद्रा में उसके बराबर) होनी चाहिए। इससे कम राशि समर्थित नहीं है और subscription काम नहीं करेगा।
- Discount Applicable (%): आधार कीमत पर लागू होने वाली वैकल्पिक प्रतिशत छूट; checkout और invoices में दिखाई देती है।
- Repeat payment every (required): renewals का interval, जैसे हर 1 Month। cadence (months या years) और quantity चुनें।
- Subscription Period (required): वह कुल अवधि जिसके दौरान subscription active रहता है (जैसे 10 Years)। यह अवधि समाप्त होने के बाद, बढ़ाए जाने तक renewals रुक जाते हैं।
- Trial Period Days (required): trial की अवधि दिनों में सेट करें। trials बंद करने के लिए 0 का उपयोग करें। trial समाप्त होने पर पहला charge अपने-आप होता है।
- Trial Amount: paid trial के लिए वैकल्पिक upfront charge। free trial के लिए इसे unset छोड़ें। Paid Trials देखें।
- Select add‑on: अधिकतम 10 add‑ons जोड़ें, जिन्हें ग्राहक base plan के साथ खरीद सकते हैं।
Add-ons seats या storage जैसे quantifiable extras के लिए आदर्श हैं। Customers द्वारा इन्हें बदलने पर आप allowed quantities और proration behavior नियंत्रित कर सकते हैं।
Advanced settings
- Tax Inclusive Pricing: लागू taxes सहित prices display करें। Final tax calculation customer location के अनुसार अलग हो सकता है।
- Generate license keys: Purchase के बाद प्रत्येक customer को एक unique key जारी करें। License Keys guide देखें।
- Digital Product Delivery: Purchase के बाद files या content automatically deliver करें। Digital Product Delivery में अधिक जानें।
- Metadata: Internal tagging या client integrations के लिए custom key–value pairs जोड़ें। Metadata देखें।
Subscription Trials
Trials ग्राहकों को पूरी recurring price चुकाने से पहले subscription का मूल्यांकन करने देते हैं। trial free हो सकता है, जिसमें trial समाप्त होने तक कुछ charge नहीं किया जाता, या paid हो सकता है, जिसमें शुरुआत में कम राशि charge की जाती है। दोनों मामलों में trial समाप्त होने के बाद पहले renewal से full price लागू होती है।Trials configure करना
Product pricing section में Trial Period Days set करें (disable करने के लिए0 का उपयोग करें)। Subscriptions बनाते समय इसे override किया जा सकता है:
Paid Trials
Trials का free होना आवश्यक नहीं है। paid trial window के लिए कम upfront fee charge करने हेतु subscription product की recurring price पर Trial Amount सेट करें। इसके बाद पहले renewal पर full recurring price लागू हो जाती है।
trial_amount और trial_period_days लौटाता है, ताकि subscription बनने से पहले आप आज देय राशि दिखा सकें।
Free trials में कोई बदलाव नहीं है। Trial Amount को unset छोड़ने पर मौजूदा व्यवहार बना रहता है: पहला charge
0 होता है और trial समाप्त होने पर full price charge की जाती है।Trial Misuse रोकना
Prevent Trial Misuse ग्राहकों को एक ही business के लिए बार-बार trials claim करने से रोकता है। सक्षम होने पर, जिस ग्राहक ने पहले trial redeem किया है, उसे नया trial देने के बजाय अपने-आप paid, no-trial purchase में बदल दिया जाता है।
- ग्राहकों का मिलान normalized email से किया जाता है और plus-aliases हटा दिए जाते हैं, इसलिए
user+trial@example.comऔरuser@example.comको एक ही व्यक्ति माना जाता है। - Redemptions को trial activation पर दर्ज किया जाता है, इसलिए उसी दिन cancel करने वाला ग्राहक भी अपना trial इस्तेमाल कर चुका माना जाता है।
- Existing customers को email के आधार पर उनके historical trials से backfill किया जाता है, इसलिए पुराने trial users तुरंत पहचान लिए जाते हैं।
यह setting डिफ़ॉल्ट रूप से off है। business-level subscription controls की पूरी सूची के लिए Subscription Settings देखें।
Trial Status पहचानना
यह निर्धारित करने के लिए कि कोई free trial subscription trial में है या नहीं, subscription के payments की सूची प्राप्त करें। यदि amount 0 वाला ठीक एक payment है, तो subscription trial period में है:Trial Period अपडेट करना
next_billing_date अपडेट करके trial बढ़ाएँ:
Subscription Plan Changes
Plan changes से आप subscriptions को upgrade या downgrade कर सकते हैं, quantities समायोजित कर सकते हैं या अलग products पर migrate कर सकते हैं। आपके द्वारा चुने गए proration mode के आधार पर, बदलाव से तत्काल charge हो सकता है, credit बन सकता है या कोई billing adjustment लागू नहीं हो सकता।Product Collections
Customer Portal में seamless upgrade/downgrade paths सक्षम करने के लिए संबंधित products को collections में समूहित करें।
Proration Modes
Plans बदलते समय ग्राहकों से billing कैसे की जाए, चुनें:चार proration modes की त्वरित तुलना:
prorated_immediately
वर्तमान billing cycle में बचे समय के आधार पर prorated amount charge करता है। unused time को ध्यान में रखने वाली fair billing के लिए सबसे उपयुक्त।
difference_immediately
price difference को तुरंत charge करता है (upgrade) या future renewals के लिए credit जोड़ता है (downgrade)। सरल upgrade/downgrade scenarios के लिए सबसे उपयुक्त।
difference_immediately का उपयोग करके downgrades से मिलने वाले credits subscription-scoped होते हैं और future renewals पर अपने-आप लागू होते हैं। ये Credit-Based Billing entitlements से अलग हैं।difference_immediately के साथ downgrade करता है, तो unused value subscription-scoped credit बन जाती है, जो future renewals को अपने-आप offset करती है:
full_immediately
शेष समय की परवाह किए बिना नए plan की पूरी राशि तुरंत charge करता है। Billing cycles reset करने के लिए सबसे उपयुक्त।
do_not_bill
बिना किसी billing adjustment के नए plan पर switch करता है। कोई proration charges या credits नहीं — ग्राहक केवल नए plan पर चला जाता है। courtesy migrations, free plan switches या ऐसे scenarios के लिए सबसे उपयुक्त जहाँ आप cost difference वहन करना चाहते हैं।
Example: Prorated upgrade calculation
Example: Prorated upgrade calculation
Scenario: Basic (80/month) में upgrade करता है।अगला renewal February 15 (January 16 + 30 days) को: $80.00/month।
Example: Downgrade credit calculation
Example: Downgrade credit calculation
Scenario: Pro (20/month) में downgrade करता है।$60 credit future renewals पर अपने-आप लागू होता है:
- Renewal 1: 20 (credit) = **40 credit शेष)
- Renewal 2: 20 (credit) = **20 credit शेष)
- Renewal 3: 20 (credit) = $0.00 (credit समाप्त)
- Renewal 4: $20.00 (पूरी price)
Credits कैसे manage किए जाते हैं, इसके बारे में अधिक जानकारी Upgrade & Downgrade Guide में प्राप्त करें।
Add-ons के साथ Plans बदलना
Plans बदलते समय add-ons संशोधित करें। Add-ons proration calculations में शामिल होते हैं:Plan changes से तत्काल charges trigger होते हैं। Failed charges subscription को
on_hold status में ले जा सकते हैं। subscription.plan_changed webhook events के माध्यम से changes track करें।Plan Changes का Preview देखना
Plan change लागू करने से पहले exact charge और resulting subscription का preview देखें:Preview Change Plan API
Plan changes लागू करने से पहले उनका preview देखें।
Subscription States
अपने lifetime के दौरान subscription statuses के एक निर्धारित set से गुजरता है। यह table प्रत्येक status, उसके कारण और उससे recover करने के तरीके (या recovery संभव है या नहीं) का reference है।State Machine
On Hold State
Subscriptionon_hold state में तब जाता है जब:
- Renewal payment विफल हो (insufficient funds, expired card आदि)
- Plan change charge विफल हो
- Payment method authorization विफल हो
On Hold से Reactivate करना
Subscription कोon_hold state से reactivate करने के लिए payment method अपडेट करें। यह अपने-आप:
- शेष dues के लिए charge बनाता है
- invoice generate करता है
- नए payment method का उपयोग करके payment process करता है
- सफल payment पर subscription को
activestate में reactivate करता है
on_hold subscription के लिए payment method सफलतापूर्वक अपडेट करने के बाद, आपको payment.succeeded और उसके बाद subscription.active webhook events प्राप्त होंगे।Transition के अनुसार Webhook Events
हर transition एक webhook emit करता है, ताकि polling के बिना entitlement logic चलाया जा सके:Subscription Webhook Payloads
Subscription lifecycle events के लिए full payload schema देखें।
API Management
Create subscriptions
Create subscriptions
Products से programmatically subscriptions बनाने के लिए
POST /subscriptions का उपयोग करें; इसमें optional trials और add‑ons शामिल किए जा सकते हैं।API Reference
Create subscription API देखें।
Update subscriptions
Update subscriptions
Quantities अपडेट करने, अगली billing date पर cancel करने या metadata संशोधित करने के लिए
PATCH /subscriptions/{id} का उपयोग करें।API Reference
Subscription details अपडेट करना सीखें।
Change plans (proration)
Change plans (proration)
Proration controls के साथ active product और quantities बदलें।
API Reference
Plan change options की समीक्षा करें।
On‑demand charges
On‑demand charges
On-demand subscriptions के लिए specific amounts को on demand charge करें।
API Reference
On-demand subscription charge करें।
List and retrieve
List and retrieve
सभी subscriptions की सूची बनाने के लिए
GET /subscriptions और किसी एक को retrieve करने के लिए GET /subscriptions/{id} का उपयोग करें।API Reference
Listing और retrieval APIs browse करें।
Usage history
Usage history
Metered या hybrid pricing models के लिए recorded usage प्राप्त करें।
API Reference
Usage history API देखें।
Update payment method
Update payment method
Subscription के लिए payment method अपडेट करें। Active subscriptions के लिए यह future renewals का payment method अपडेट करता है।
on_hold state वाली subscriptions के लिए, यह शेष dues का charge बनाकर subscription को reactivate करता है।नया payment-method link बनाते समय (New request type), आप allowed_payment_method_types पास करके यह सीमित कर सकते हैं कि उस page पर ग्राहक को कौन-से payment methods दिखाई दें। ग्राहकों को सूची में शामिल न किया गया method कभी नहीं दिखेगा, हालांकि किसी method को शामिल करने से उसका दिखाई देना सुनिश्चित नहीं होता (availability customer location और आपकी business settings जैसे factors पर निर्भर करती है)।API Reference
Payment methods अपडेट करना और subscriptions reactivate करना सीखें।
Common Use Cases
- SaaS and APIs: seats या usage के लिए add‑ons के साथ tiered access
- Content and media: introductory trials के साथ monthly access
- B2B support plans: premium support add‑ons के साथ annual contracts
- Tools and plugins: license keys और versioned releases
Integration Examples
Checkout Sessions (subscriptions)
Checkout sessions बनाते समय अपना subscription product और optional add‑ons शामिल करें:Proration के साथ Plan changes
Subscription को upgrade या downgrade करें और proration behavior नियंत्रित करें:अगली billing date पर Cancel
वर्तमान billing period के अंत में प्रभावी होने वाला cancellation schedule करें:Subscription period बढ़ाना
subscription_period_count और subscription_period_interval को PATCH /subscriptions/{id} में पास करके subscription की अवधि बढ़ाएँ। Subscription की expiry नए count और interval के आधार पर फिर से calculate की जाती है — उदाहरण के लिए, ग्राहक को उसके current plan पर अतिरिक्त समय देने के लिए:
Subscription की period केवल बढ़ाई जा सकती है, घटाई नहीं जा सकती।
On‑demand subscriptions
On-demand subscription बनाएँ और आवश्यकता के अनुसार बाद में charge करें:Active subscription के लिए payment method अपडेट करना
Active subscription का payment method अपडेट करें:on_hold से Subscription reactivate करना
Failed payment के कारण on hold हुई subscription को reactivate करें:RBI-Compliant Mandates वाली Subscriptions
UPI और Indian card subscriptions RBI (Reserve Bank of India) regulations के अंतर्गत specific mandate requirements के साथ operate करती हैं:Mandate Limits
Mandate type और amount आपकी subscription के recurring charge पर निर्भर करते हैं:- Mandate floor (default ₹15,000) से कम charges: हम floor amount के लिए on-demand mandate बनाते हैं। Subscription amount आपकी subscription frequency के अनुसार periodically charge की जाती है, mandate limit तक।
- Mandate floor के बराबर या उससे अधिक charges: हम exact subscription amount के लिए subscription mandate (या on-demand mandate) बनाते हैं।
mandate_min_amount_inr_paise (INR paise) के माध्यम से configure किया जा सकता है। Bank के साथ registered amount max(mandate_floor, billing_amount) है — इसलिए जब billing कम होती है, floor effectively customer-facing authorization ceiling बन जाता है।
RBI-compliant mandates और Indian payment methods के लिए configurable mandate floor की विस्तृत जानकारी के लिए India Payment Methods page देखें।
Upgrade और Downgrade संबंधी बातें
Important: Subscriptions upgrade या downgrade करते समय mandate limits पर सावधानी से विचार करें:- यदि upgrade/downgrade के परिणामस्वरूप charge amount Rs 15,000 से अधिक हो जाता है और मौजूदा on-demand payment limit से आगे निकल जाता है, तो transaction charge विफल हो सकता है।
- ऐसे मामलों में, सही limit के साथ नया mandate बनाने के लिए ग्राहक को payment method अपडेट करना या subscription फिर से बदलना पड़ सकता है।
High-Value Charges के लिए Authorization
Rs 15,000 या उससे अधिक के subscription charges के लिए:- Bank ग्राहक को transaction authorize करने के लिए prompt करेगा।
- यदि ग्राहक transaction authorize करने में विफल रहता है, तो transaction विफल होगा और subscription को on hold कर दिया जाएगा।
48-Hour Processing Delay
Processing Timeline: Indian cards और UPI subscriptions पर recurring charges एक unique processing pattern का पालन करते हैं:- Charges आपकी subscription frequency के अनुसार scheduled date पर initiated होते हैं।
- Customer के account से वास्तविक deduction payment initiation के 48 hours बाद ही होती है।
- Bank API responses के आधार पर यह 48-hour window 2-3 additional hours तक बढ़ सकती है।
Mandate Cancellation Window
48-hour processing window के दौरान:- Customers अपने banking apps के माध्यम से mandate cancel कर सकते हैं।
- यदि ग्राहक इस अवधि के दौरान mandate cancel करता है, तो subscription active बनी रहेगी (यह Indian card और UPI AutoPay subscriptions से संबंधित specific edge case है)।
- हालांकि, वास्तविक deduction विफल हो सकती है और ऐसी स्थिति में हम subscription को on hold कर देंगे।
- Payment confirmation तक benefit activation में देरी करना
- Grace periods या temporary access लागू करना
- Mandate cancellations के लिए subscription status monitor करना
- अपने application logic में subscription hold states को handle करना
Best Practices
- Clear tiers से शुरुआत करें: स्पष्ट अंतरों वाले 2–3 plans
- Pricing communicate करें: totals, proration और next renewal दिखाएँ
- Trials का सोच-समझकर उपयोग करें: केवल समय नहीं, onboarding के माध्यम से convert करें
- Add‑ons का लाभ उठाएँ: base plans को सरल रखें और अतिरिक्त सुविधाएँ upsell करें
- Changes test करें: test mode में plan changes और proration validate करें
Subscriptions recurring revenue के लिए एक flexible foundation हैं। सरल शुरुआत करें, अच्छी तरह test करें और adoption, churn तथा expansion metrics के आधार पर iterate करें।