
Checkout Sessions
होस्टेड चेकआउट के दौरान इनलाइन कोड
discount_codes और UI नियंत्रण के साथ एक या अधिक स्टैक्ड कोड लागू करें।Validate Discount
किसी डिस्काउंट की वैधता उसकी ID से जांचें।
Get Discount by Code
कोड नाम (जैसे, “SAVE20”) का उपयोग करके किसी डिस्काउंट को खोजें और सत्यापित करें।
Create Discount (API)
प्रोग्राम द्वारा नए डिस्काउंट कोड बनाएं।
List & Update Discounts
मौजूदा डिस्काउंट ब्राउज़ करें और प्रबंधित करें; आवश्यकतानुसार अपडेट या हटाएं।
Plan Change Discounts
सब्सक्रिप्शन योजनाओं को अपग्रेड या डाउंग्रेड करते समय डिस्काउंट कोड लागू करें।
डिस्काउंट कोड क्या हैं?
डिस्काउंट कोड प्रचार टोकन हैं जो चेकआउट पर ऑर्डर टोटल को कम करते हैं। ये निम्नलिखित के लिए आदर्श हैं:- सीज़नल अभियान: ब्लैक फ्राइडे, उत्पाद लॉन्च, या वर्षगाँठ
- अधिग्रहण ऑफ़र: पहली खरीद प्रोत्साहन या रेफरल रिवॉर्ड्स
- रिटेंशन: मौजूदा ग्राहकों के लिए फिर से जीतने या वफादारी रिवॉर्ड्स
- बी2बी डील्स: निजी कोड के माध्यम से अनुबंधित या वार्ता मूल्य निर्धारण
प्रमुख लाभ
- लचीली छूट: प्रतिशत-आधारित या निश्चित राशि की छूट
- Stackable codes: प्रति checkout, payment या subscription अधिकतम 20 codes लागू करें — bespoke codes बनाए बिना campaigns को संयोजित करें (जैसे
WELCOME10+BLACKFRIDAY20) - लक्षित नियंत्रण: product, subscription cycles और customer eligibility के आधार पर प्रतिबंधित करें
- Campaign governance: निर्धारित start dates, expiration dates, और कुल तथा प्रति-customer usage limits
- प्रति-currency pricing: प्रत्येक currency के लिए flat deduction, amount cap और minimum subtotal सेट करें
- निर्बाध checkout: checkout sessions के माध्यम से UI field और API support
डिस्काउंट कोड बनाना
अपने डोडो पेमेंट्स डैशबोर्ड में डिस्काउंट कोड बनाएं, फिर उन्हें होस्टेड चेकआउट या एपीआई के माध्यम से लागू करें।
Dashboard setup
- Discount Name (required): Internal और dashboard में दिखने वाला नाम
- Code (required): वह string जिसे customers checkout पर दर्ज करते हैं, या दिए गए button का उपयोग करके random code generate करें
- Type (required): Percentage (प्रतिशत छूट) या Amount (निश्चित deduction) चुनें
- Amount (required): Percentage discount के लिए प्रतिशत value, या Amount discount के लिए flat amount
- Start Date (optional): code को बाद में active होने के लिए schedule करें; तुरंत active करने के लिए खाली छोड़ दें
- Expiration Date (optional): वह date जिसके बाद code invalid हो जाता है
- Usage Limit (optional): सभी customers के बीच अधिकतम total redemptions
- Per-Customer Usage Limit (optional): किसी एक customer द्वारा अधिकतम redemptions। दोनों सेट होने पर यह overall usage limit से कम या उसके बराबर होना चाहिए
- Customer Eligibility (optional): code redeem करने वालों को सीमित करें — सभी customers, first-time customers, existing customers या चुनी हुई list
- Currency Options (optional): प्रति-currency values — Per-Currency Options देखें
- Product Restriction (optional): applicability को चुने गए products तक सीमित करें
- Subscription Cycle Limit (optional): उन billing cycles की संख्या जिन पर discount लागू होता है
- Preserve on Plan Change (optional): subscription का plan बदलने पर discount को active रखें (
preserve_on_plan_change) - Metadata (optional): internal tracking या integrations के लिए custom key–value pairs जोड़ें



एक percentage
amount को API पर basis points में व्यक्त किया जाता है — 1500 का अर्थ 15% है। एक flat amount एक money value है और इसे code के currency options में निर्धारित किया जाता है।Discount Types
दोनों types को एक ही
discount_codes array में संयोजित किया जा सकता है और array order में लागू किया जाता है।

Customer Eligibility
कौन code redeem कर सकता है, यह नियंत्रित करने के लिएcustomer_eligibility सेट करें:

Per-Currency Options
Currency options एक code को आपके द्वारा बेची जाने वाली अलग-अलग currencies में सही ढंग से व्यवहार करने देते हैं। प्रत्येक entry एक single currency के लिए यह सेट करती है:- Amount — Amount discount के लिए यह deduction स्वयं है; Percentage discount के लिए यह अधिकतम राशि निर्धारित करता है जिसे code कम कर सकता है। API पर यह
max_amount_possibleसे map होता है। - Minimum subtotal — code तभी लागू होता है जब cart इस subtotal तक पहुँचता है।
0का अर्थ है कि कोई minimum नहीं है। - Default — एक entry को default के रूप में mark किया जा सकता है, जिससे अन्य unconfigured currencies convert होती हैं।

Minimum subtotal को हमेशा cart की original prices के आधार पर मापा जाता है, stack के बीच में running total के आधार पर नहीं। इसलिए stacking order कभी यह नहीं बदलता कि minimum पूरा हुआ है या नहीं।
Checkout Experience
- Shoppers checkout field में code दर्ज करते हैं।
- Eligible discounts लागू होते हैं और totals तुरंत update हो जाते हैं।

Checkout Sessions में एक या अधिक codes को पहले से लागू करने के लिए
discount_codes (एक array) पास करें और input field दिखाने के लिए feature_flags.allow_discount_code सेट करें। Codes array order में लागू होते हैं, अधिकतम 20 तक।Stacking Discount Codes
Checkout sessions, payments और subscriptionsdiscount_codes array (अधिकतम 20 entries) के माध्यम से अधिकतम 20 stacked codes स्वीकार करते हैं। Codes array order में लागू होते हैं, इसलिए पहला eligible code पहले base price को कम करता है, अगला code पहले से discounted price को कम करता है, और इसी तरह आगे। लागू किए गए discounts का पूरा set response में discount_ids (payments/subscriptions पर) और discounts (अधिक विस्तृत per-discount detail, जिसमें position और remaining subscription cycles शामिल हैं) के अंतर्गत लौटाया जाता है।
Singular
discount_code field deprecated है, लेकिन backward compatibility के लिए पूरी तरह supported है — existing integrations बिना किसी बदलाव के काम करते रहेंगे। इसे उसी request में discount_codes के साथ combine नहीं किया जा सकता। हम सुविधा के अनुसार discount_codes (array form) पर migrate करने की recommendation देते हैं, single codes के लिए भी, ताकि stacking और अधिक समृद्ध response shape का लाभ मिल सके।API Management
Create discounts
Create discounts
Type और amount के साथ programmatically discount codes create करें।
API Reference
Create discount API देखें।
List and retrieve
List and retrieve
Management और auditing के लिए सभी discounts की list देखें या details retrieve करें।
API Reference
Listing और retrieval APIs ब्राउज़ करें।
Get discount by code
Get discount by code
Internal ID के बजाय उसके human-readable code (जैसे, “SAVE20”) का उपयोग करके discount खोजें।
API Reference
Code name से discount retrieve करें।
Update discounts
Update discounts
Amount, expiration या restrictions जैसे discount configuration को modify करें।
API Reference
Discount details update करना सीखें।
Validate discounts
Validate discounts
लागू करने से पहले जाँचें कि discount valid और applicable है या नहीं।
API Reference
Discount usage validate करें।
Delete discounts
Delete discounts
जिन discounts की अब आवश्यकता नहीं है, उन्हें deactivate या remove करें।
API Reference
Discount delete करें।
Manage the customer allow list
Manage the customer allow list
ऐसे discount के लिए जिसका
customer_eligibility, specific पर सेट है, उन customers को manage करें जो इसे redeem कर सकते हैं:GET /discounts/{discount_id}/customers— attached customers की list बनाएं (paginated, प्रति page अधिकतम 100)।POST /discounts/{discount_id}/customers— customers को ID द्वारा attach करें। यह call idempotent है और अधिकतम 1000 IDs स्वीकार करती है; ये सभी आपके business में पहले से मौजूद होने चाहिए। Response केवल उस request में submit की गई IDs को echo करता है, इसलिए पूरी allow list पढ़ने के लिए endpoint को list करें।DELETE /discounts/{discount_id}/customers/{customer_id}— किसी एक customer को detach करें।
Common Use Cases
- Intro offers: नए products के लिए सीमित समय के launch promotions
- Bulk या B2B: चुने हुए product sets के लिए contracted discounts
- Retention plays: churn-prevention workflows में win-back codes
- Seasonal campaigns: holiday या event-आधारित promotions
Integration Examples
Metadata के साथ discount create करें
Internal tracking के लिए custom key–value pairs जोड़ें।Checkout Sessions में discounts लागू करें
एक या अधिक stacked discounts को पहले से लागू करें और code input UI दिखाएँ।Plan changes के दौरान discounts लागू करें
Customers के subscription को upgrade या downgrade करने पर promotional pricing दें।Subscription response में subscription के नए
discounts array के माध्यम से सभी applied discounts पढ़ें। प्रत्येक entry में discount_id, position, cycles_remaining (subscriptions के लिए) और original code शामिल होता है।Pre-apply किए बिना discount entry enable करें
Customers को पहले से कोई code pass किए बिना checkout पर code दर्ज करने दें।Best Practices
- नाम स्पष्ट रखें: campaign names से मेल खाने वाले पहचानने योग्य codes का उपयोग करें
- Time-box करें: urgency बढ़ाने और misuse रोकने के लिए expirations जोड़ें
- Scope समझदारी से तय करें: margin leakage से बचने के लिए specific products तक सीमित करें
- जल्दी validate करें: checkout confirm करने से पहले code applicability जाँचें
- Impact monitor करें: campaign के अनुसार usage और conversion track करें
Discount codes acquisition और retention के लिए powerful levers हैं। सरल, अच्छे नाम वाले offers से शुरुआत करें, thoroughly validate करें और performance के आधार पर iterate करें।