Skip to main content
Products, Dodo Payments की नींव हैं। चाहे आप एकमुश्त download, recurring subscription या usage-based access बेचते हों, शुरुआत product बनाकर होती है। प्रत्येक product यह निर्धारित करता है कि उसकी pricing कैसे होगी, checkout पर वह कैसे दिखाई देगा और purchase के बाद उसका fulfillment कैसे होगा।

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 समर्थित है।
पहला sentence customer-facing और outcome-oriented रखें; यह checkout में प्रमुखता से दिखाई देता है।
Products dashboard showing product creation form
2

Pricing Model and Price

Pricing model चुनें:
  • One-Time: एक बार भुगतान की जाने वाली fixed price।
  • Subscription: interval और optional trial के साथ recurring price।
  • Usage-Based: metered events से निर्धारित price।
Then set pricing:
  • 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 में भुगतान करते हैं।
Live FX conversion के बजाय प्रत्येक currency या country के लिए fixed price चाहिए? Product पर pricing_mode सेट करें और Localized Pricing rules जोड़ें, जैसे EUR में €9.99 या India में ₹999।
Price edit करने से नए customers द्वारा भुगतान की जाने वाली राशि बदल जाती है। Existing subscriptions की price कभी repriced नहीं की जाती; प्रत्येक subscription वही price रखती है जिसके साथ उसे बनाया गया था। किसी existing subscriber को दूसरी price पर ले जाने के लिए Change Plan API के साथ उनका plan स्पष्ट रूप से बदलें; proration settings उस plan change पर लागू होती हैं, price edits पर नहीं।
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 करें।
आपका offer विकसित होने पर benefits जोड़ें या हटाएँ। Existing subscribers को उसी के अनुसार access मिलेगा या हट जाएगा।

Variants और Pricing Options

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

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

  1. Products बनाएँ: प्रत्येक plan के लिए individual products सेट करें (जैसे, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)।
  2. Collection में group करें: 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 और 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 का उपयोग करें।
Product और collection form pages में header action buttons शामिल हैं, इसलिए long form के bottom तक scroll किए बिना save कर सकते हैं।

API Management

निम्न instructions आपको products create, update, manage, और retrieve करने देती हैं, जिनमें images upload करना भी शामिल है।
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 देखें।
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 देखें।
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 देखें।
API द्वारा दिए गए pre-signed URL का उपयोग करके AWS S3 पर image upload कर product के साथ associate करें। पहले /products/{product_id}/images endpoint से image upload URL का request करें, फिर दी गई 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 देखें।
DELETE request को /products/{id} endpoint पर भेजकर product को स्थायी रूप से delete किए बिना new purchases से छिपाएँ।

Archive Product API

Archive Product API documentation में detailed request और response structure देखें।
POST request को /products/{product_id}/unarchive endpoint पर भेजकर archived product restore करें। इससे product फिर से active हो जाता है और उपयोग के लिए उपलब्ध हो जाता है।

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

  • स्पष्टता से शुरुआत करें: प्रत्येक pricing option (Monthly और Yearly) के लिए अलग products बनाएँ।
  • Trials का सोच-समझकर उपयोग करें: Activation बढ़ाने के लिए trials को onboarding के साथ जोड़ें।
  • Fulfillment automate करें: तुरंत delivery के लिए benefits और webhooks का उपयोग करें।
  • Metadata के साथ tag करें: Reconciliation के लिए अपने system IDs store करें।

Product Analytics

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

Localized Pricing

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