Products are the foundation of Dodo Payments. Whether you sell a one‑time download, a recurring subscription, or usage‑based access, you start by creating a product. Each product defines how it’s priced, presented at checkout, and fulfilled after purchase.
One‑Time
Charge once for lifetime access or a single deliverable.
Subscriptions
Bill on a schedule with trials, proration, and add‑ons.
Usage‑Based
मीटर खपत और बिल वास्तविक उपयोग के अनुसार।
Create a product
You can create products from the dashboard or via API. Choose the pricing model up‑front, One‑Time, Subscription, or Usage‑Based and then configure details. The pricing model can’t be changed later; create a new product if you need a different model.1
Name & description
Provide a clear title and a concise value‑oriented description. Markdown is supported in descriptions.

2
Pricing model & price
Select the pricing model:
- One‑Time: Fixed price paid once.
- Subscription: Recurring price with interval and optional trial.
- Usage‑Based: Price derived from metered events.
- Price: मूल राशि और मुद्रा। आप base price को केवल USD में नहीं, बल्कि Dodo Payments द्वारा charge की जा सकने वाली किसी भी currency में सेट कर सकते हैं। किसी currency को खोजने के लिए searchable currency selector का उपयोग करें; USD, GBP, EUR, और INR सूची में सबसे ऊपर pinned हैं।
- Discount (%): checkout और invoices में दिखने वाला optional inline discount।
- Subscriptions के लिए Repeat every (जैसे, 1 month या 1 year), Trial days, और paid trial के लिए optional Trial amount सेट करें। Subscription price कम से कम $1 (या आपकी चुनी हुई currency में उसके equivalent) होना चाहिए; इससे कम amounts supported नहीं हैं और subscription काम नहीं करेगा।
आपकी base currency के बाहर के customers को भी Adaptive Currency के माध्यम से bill किया जाता है, इसलिए आप अपने market के लिए सबसे उपयुक्त currency में prices बना सकते हैं, बिना buyers से charge किए जाने के तरीके को बदले।
3
Product media
Checkout और invoices में product को प्रदर्शित करने के लिए images upload करें। 3 MB तक के PNG/JPG/WebP supported हैं। आप किसी भी समय उनका क्रम बदल या उन्हें replace कर सकते हैं।
4
Automated entitlements (Under Advanced Settings)
ऐसा fulfillment जोड़ें जो payment के बाद automatically activate हो:
- License Keys: Unique keys जारी और validate करें
- File Downloads: Secure file access प्रदान करें
- Custom: Webhooks के माध्यम से अपना entitlement logic trigger करें
Variants और pricing options
एक ही product के अंतर्गत variants बनाने के बजाय, प्रत्येक pricing option के लिए अलग products बनाएँ (उदाहरण के लिए, Monthly और Yearly)। फिर सभी options को एक ही checkout में दिखाने और Customer Portal में plan switching सक्षम करने के लिए उन्हें एक Product Collection में group करें।
यह approach क्यों?
- Clear pricing models: प्रत्येक product का एक single, स्पष्ट pricing model होता है (one-time, subscription, या usage-based)
- Predictable APIs: Nested variant logic के बिना simpler integrations
- Easier reporting: Variant aggregation के बिना प्रत्येक product के revenue और metrics track करें
- Flexible checkout: Multiple products को side-by-side दिखाएँ, ताकि customers तुलना करके चुन सकें
Product Collections कैसे काम करते हैं
- Create products: प्रत्येक plan के लिए individual products सेट up करें (जैसे, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)
- Group into a collection: 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 और seamless upgrade/downgrade paths के लिए related products को एक साथ group करें।
Products manage करना
आप 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 से hide करें। आप बाद में इसे unarchive कर सकते हैं।
- Drafts: In-progress product को draft के रूप में save किया जाता है, ताकि आप बाद में उस पर वापस आ सकें। Drafts test mode और live mode के लिए अलग-अलग रखे जाते हैं, इसलिए किसी एक mode में unfinished product दूसरे mode में कभी नहीं आता। इसे discard करके fresh शुरुआत करने के लिए Clear Draft का उपयोग करें।
API Management
निम्न instructions आपको products create, update, manage, और retrieve करने देती हैं, जिनमें images upload करना भी शामिल है।Creating a Product
Creating a Product
Product one-time item या subscription-based service हो सकता है। नया 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
Existing product को modify करने के लिए
PATCH request /products/{product_id} endpoint पर भेजें। अन्य details को unchanged रखते हुए आप 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 fetch कर सकते हैं। इससे आप 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 करें, फिर provided 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
यदि आप किसी product को display या use नहीं करना चाहते, तो
DELETE request को /products/{id} endpoint पर भेजकर उसे archive कर सकते हैं। यह action product को hide करता है, लेकिन उसे permanently delete नहीं करता।Archive Product API
Archive Product API documentation में detailed request और response structure देखें।
Unarchiving a Product
Unarchiving a Product
यदि आपको archived product restore करना है, तो
POST request /products/{product_id}/unarchive endpoint पर भेजें। इससे product reactivate हो जाएगा और फिर से use के लिए available हो जाएगा।Unarchive Product API
Unarchive Product API documentation में detailed request और response structure देखें।
Checkout & fulfillment
Checkout & 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
- Clarity से शुरुआत करें: प्रत्येक pricing option (Monthly बनाम Yearly) के लिए अलग products रखें
- Trials का सोच-समझकर उपयोग करें: Activation बढ़ाने के लिए trials को onboarding के साथ pair करें
- Fulfillment automate करें: तुरंत deliver करने के लिए benefits और webhooks का उपयोग करें
- Metadata के साथ tag करें: Reconciliation के लिए अपने system IDs store करें
अब आप products create करके selling शुरू करने के लिए तैयार हैं — one-time, recurring, या usage के आधार पर।
Related
Product Analytics
प्रत्येक individual product के लिए revenue, customers, retention, subscribers, और MRR track करें।
Localized Pricing
Live exchange rates पर निर्भर रहने के बजाय किसी product पर fixed per-currency या per-country prices सेट करें।