Skip to main content
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.
Keep the first sentence customer‑facing and outcome‑oriented; it appears prominently in checkout.
प्रोडक्ट्स
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.
Then set pricing:
  • 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 किए जाने के तरीके को बदले।
Live FX conversion के बजाय प्रत्येक currency या country के लिए fixed price चाहिए? Product पर pricing_mode सेट करें और Localized Pricing rules जोड़ें — उदाहरण के लिए EUR में €9.99 या India में ₹999।
Price बदलने से केवल new purchases प्रभावित होती हैं। Existing subscriptions plan-change rules का पालन करती हैं।
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 करें
आपका offer विकसित होने पर benefits जोड़ें या हटाएँ। Existing subscribers को उसी के अनुसार access मिलेगा या हट जाएगा।

Variants और pricing options

एक ही product के अंतर्गत variants बनाने के बजाय, प्रत्येक pricing option के लिए अलग products बनाएँ (उदाहरण के लिए, Monthly और Yearly)। फिर सभी options को एक ही checkout में दिखाने और Customer Portal में plan switching सक्षम करने के लिए उन्हें एक Product Collection में group करें।
Product Collections

यह 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 कैसे काम करते हैं

  1. Create products: प्रत्येक plan के लिए individual products सेट up करें (जैसे, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)
  2. Group into a collection: Related products को Product Collection में जोड़ें
  3. Unified checkout: Customers सभी options को एक checkout में देखते हैं और अपना preferred plan चुनते हैं
  4. 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 का उपयोग करें।
Product और collection form pages में header action buttons शामिल हैं, इसलिए long form के bottom तक scroll किए बिना save कर सकते हैं।

API Management

निम्न instructions आपको products create, update, manage, और retrieve करने देती हैं, जिनमें images upload करना भी शामिल है।
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 देखें।
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 देखें।
आप 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 देखें।
आप 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 करें।
Pre-signed URL 60 seconds में expire हो जाता है, इसलिए image को इसी timeframe के भीतर 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
यदि upload सफल होता है, तो AWS S3 200 OK status लौटाएगा, जो दर्शाता है कि image successfully store हो गई है।

Upload Product Image API

Upload Product Image API documentation में detailed request और response structure देखें।
यदि आप किसी 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 देखें।
यदि आपको 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 देखें।
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 के आधार पर।

Product Analytics

प्रत्येक individual product के लिए revenue, customers, retention, subscribers, और MRR track करें।

Localized Pricing

Live exchange rates पर निर्भर रहने के बजाय किसी product पर fixed per-currency या per-country prices सेट करें।
अंतिम संशोधन 31 जुलाई 2026