One-Time
Lifetime access या किसी एक deliverable के लिए एक बार charge करें।
Subscriptions
Trials, proration और add-ons के साथ एक schedule के अनुसार bill करें।
Usage-Based
Consumption को meter करें और actual usage के आधार पर bill करें।
Product बनाएँ
Dashboard या API के माध्यम से products बनाएँ। शुरुआत में pricing model चुनें—One-Time, Subscription या Usage-Based—फिर विवरण configure करें। Pricing model immutable है; यदि आपको अलग model चाहिए, तो नया product बनाएँ।1
Name and Description
स्पष्ट title और संक्षिप्त, value-oriented description दें। Descriptions में Markdown समर्थित है।

2
Pricing Model and Price
Pricing model चुनें:
- One-Time: एक बार भुगतान की जाने वाली fixed price।
- Subscription: interval और optional trial के साथ recurring price।
- Usage-Based: metered events से निर्धारित price।
- Price: Base amount और currency। आप Dodo Payments द्वारा समर्थित किसी भी currency में base price सेट कर सकते हैं, सिवाय Pay What You Want products के, जिनकी base currency USD, GBP या EUR होनी चाहिए। त्वरित access के लिए USD, GBP, EUR और INR currency selector के शीर्ष पर pinned हैं।
- Discount (%): Checkout और invoices में दिखाई जाने वाली optional percentage discount।
- Subscriptions के लिए Repeat every (जैसे, 1 month या 1 year), Trial days और paid trial के लिए optional Trial amount सेट करें। Non-zero subscription price कम से कम $1 (या आपकी चुनी हुई currency में उसके equivalent) होना चाहिए। ठीक $0 की price भी समर्थित है, और आप customers को बिना card के $0 subscription शुरू करने दे सकते हैं; Card-Optional at Zero Price देखें। Negative amounts समर्थित नहीं हैं।
Adaptive Currency चालू होने पर, आपकी base currency के बाहर के customers को उनकी local currency में bill किया जाता है, इसलिए आप अपने market के लिए सबसे उपयुक्त currency में prices तय कर सकते हैं। इसके बंद होने पर वे आपकी base currency में भुगतान करते हैं।
3
Product Media
Checkout और invoices पर product दिखाने के लिए images upload करें। समर्थित formats: PNG, JPG, WebP, अधिकतम 3 MB। Images को कभी भी reorder या replace किया जा सकता है।
4
Automated Entitlements
Entitlements section में ऐसा fulfillment जोड़ें जो payment के बाद अपने-आप activate हो जाए:
- License Keys: Unique keys issue और validate करें।
- File Downloads: Secure file access प्रदान करें।
- Custom: Webhooks के माध्यम से अपना entitlement logic trigger करें।
Variants और Pricing Options
एक product के अंतर्गत variants बनाने के बजाय, प्रत्येक pricing option के लिए अलग products बनाएँ (उदाहरण के लिए, Monthly और Yearly)। फिर उन्हें Product Collection में group करें, ताकि सभी options एक ही checkout में दिखाई दें और Customer Portal में plan switching सक्षम हो।
यह Approach क्यों?
- स्पष्ट pricing models: प्रत्येक product का एक single, अच्छी तरह परिभाषित pricing model होता है (one-time, subscription या usage-based)।
- Predictable APIs: Nested variant logic के बिना सरल integrations।
- आसान reporting: Variant aggregation के बिना प्रत्येक product के revenue और metrics track करें।
- Flexible checkout: कई products को साथ-साथ दिखाएँ, ताकि customers तुलना करके चुन सकें।
Product Collections कैसे काम करते हैं
- Products बनाएँ: प्रत्येक plan के लिए individual products सेट करें (जैसे, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)।
- Collection में group करें: Related products को Product Collection में जोड़ें।
- Unified checkout: Customers सभी options को एक checkout में देखते हैं और अपना preferred plan चुनते हैं।
- Plan switching: Customers Customer Portal के माध्यम से उसी collection में products के बीच upgrade या downgrade कर सकते हैं।
Product Collections
Unified checkout experiences और upgrade/downgrade paths के लिए related products को एक साथ group करें।
Products प्रबंधित करना
आप products को dashboard के माध्यम से या API द्वारा programmatically manage कर सकते हैं। API product creation, updates, retrieval, image uploads, और archiving पर full control प्रदान करता है।Dashboard Management
- Update: Name, description, images, price, fields और benefits को कभी भी edit करें (pricing model immutable है)।
- Archive: Existing customers को प्रभावित किए बिना product को new purchases से छिपाएँ। बाद में उसे unarchive किया जा सकता है।
- Drafts: प्रगति में चल रहा product draft के रूप में save किया जाता है, ताकि आप बाद में उस पर लौट सकें। Drafts test mode और live mode के लिए अलग-अलग रखे जाते हैं, इसलिए किसी एक mode में अधूरा product दूसरे mode में कभी नहीं पहुँचता। उसे छोड़कर नए सिरे से शुरू करने के लिए Clear Draft का उपयोग करें।
API Management
निम्न instructions आपको products create, update, manage, और retrieve करने देती हैं, जिनमें images upload करना भी शामिल है।Creating a Product
Creating a Product
Name, description, price, currency और यह recurring product है या नहीं जैसी details के साथ
POST request को /products endpoint पर भेजें।Recurring products के लिए, price object को recurring price (type: recurring_price) पर सेट करें और उनके corresponding counts के साथ payment_frequency_interval और subscription_period_interval (Day, Week, Month, या Year) specify करें।Create Product API
Create Product API documentation में detailed request और response structure देखें।
Updating a Product
Updating a Product
PATCH request को /products/{product_id} endpoint पर भेजें। अन्य details को अपरिवर्तित रखते हुए name, price और description जैसी properties update कर सकते हैं।सुनिश्चित करें कि endpoint में product_id किसी existing product से match करता है।Update Product API
Update Product API documentation में detailed request और response structure देखें।
Retrieving Products
Retrieving Products
GET request को /products endpoint पर भेजकर अपने account में stored products की list प्राप्त करें। इससे आप active और archived products सहित product details retrieve कर सकते हैं।Retrieve Products API
Retrieve Products API documentation में detailed request और response structure देखें।
Uploading Product Images
Uploading Product Images
API द्वारा दिए गए pre-signed URL का उपयोग करके AWS S3 पर image upload कर product के साथ associate करें। पहले
/products/{product_id}/images endpoint से image upload URL का request करें, फिर दी गई URL का उपयोग करके 60 seconds के भीतर image upload करें।API से pre-signed URL प्राप्त होने के बाद, PUT method का उपयोग करके image upload करें। इससे image upload करने के लिए AWS S3 का secure और temporary access सुनिश्चित होता है।S3 पर upload करने के लिए supported libraries:- Node.js:
axios,node-fetch - Python:
requests,boto3 - Go:
net/http - PHP:
GuzzleHttp - Ruby:
rest-client
200 OK status लौटाएगा, जो दर्शाता है कि image successfully store हो गई है।Upload Product Image API
Upload Product Image API documentation में detailed request और response structure देखें।
Archiving a Product
Archiving a Product
DELETE request को /products/{id} endpoint पर भेजकर product को स्थायी रूप से delete किए बिना new purchases से छिपाएँ।Archive Product API
Archive Product API documentation में detailed request और response structure देखें।
Unarchiving a Product
Unarchiving a Product
POST request को /products/{product_id}/unarchive endpoint पर भेजकर archived product restore करें। इससे product फिर से active हो जाता है और उपयोग के लिए उपलब्ध हो जाता है।Unarchive Product API
Unarchive Product API documentation में detailed request और response structure देखें।
Checkout and Fulfillment
Checkout and Fulfillment
Products से payment या subscription flows बनाएँ और benefits तथा webhooks के माध्यम से automatically fulfill करें।
Checkout Sessions
One-time या subscription purchases के लिए checkout sessions बनाएँ।
Payment Webhooks
Payment lifecycle events पर प्रतिक्रिया दें।
Subscription Webhooks
Subscription created, renewed और canceled events को handle करें।
Best Practices
- स्पष्टता से शुरुआत करें: प्रत्येक pricing option (Monthly और Yearly) के लिए अलग products बनाएँ।
- Trials का सोच-समझकर उपयोग करें: Activation बढ़ाने के लिए trials को onboarding के साथ जोड़ें।
- Fulfillment automate करें: तुरंत delivery के लिए benefits और webhooks का उपयोग करें।
- Metadata के साथ tag करें: Reconciliation के लिए अपने system IDs store करें।
Related
Product Analytics
प्रत्येक individual product के लिए revenue, customers, retention, subscribers और MRR track करें।
Localized Pricing
Live exchange rates पर निर्भर रहने के बजाय product पर fixed per-currency या per-country prices सेट करें।