स्थानीयकृत मूल्य निर्धारण क्या है?
हर उत्पाद की एक आधार मुद्रा में एक मूल कीमत होती है। स्थानीयकृत मूल्य निर्धारण आपको को प्रति मुद्रा या प्रति देश सेट की गई निश्चित कीमतों के साथ उस आधार को ओवरराइड करने देता है। इसे चालू करने के लिए उत्पाद पर एकpricing_mode सेट करें, फिर प्रति बाजार एक नियम संलग्न करें।
यह अंतरराष्ट्रीय pricing के लिए कई स्वतंत्र levers में से एक है, जिनमें से प्रत्येक एक अलग समस्या हल करता है:
स्थानीयकृत मूल्य निर्धारण और अनुकूली मुद्रा एक साथ काम करते हैं। जब कोई स्थानीयकृत नियम मेल नहीं खाता, तो उत्पाद अपने आधार मूल्य पर वापस आ जाता है — यदि ग्राहक पहले से ही आपकी आधार मुद्रा में है, तो वह सीधे चार्ज किया जाता है, या यदि नहीं, तो अनुकूली मुद्रा के माध्यम से रूपांतरित होता है।
उपयोग के मामले
Exact Prices for One Market
किसी price-sensitive market में एक specific amount charge करें। एक
by_country rule से $20 का base product भारत में ₹999 में बिक सकता है — ठीक वही number जो आपने चुना है, FX conversion नहीं। इसके बजाय country के अनुसार prices automatically कम करने के लिए Purchasing Power Parity का उपयोग करें।Exact Prices per Currency Zone
$19.99 का live FX conversion €18.43 जैसी असुविधाजनक संख्या पर पहुँचता है। एक
by_currency rule आपके द्वारा type की गई exact price सेट करता है — €9.99, ¥1000, ₹499। प्रत्येक currency में converted prices को automatically साफ़ endings तक round करने के लिए Charm Pricing का उपयोग करें।Reversible Market-Entry Promotions
किसी नए country में launch कर रहे हैं? एक introductory price के साथ
by_country rule जोड़ें, फिर promotion समाप्त होने पर उसे archive करें ताकि base/adaptive pricing पर वापस आ जाए। Rules archive किए जाते हैं, delete नहीं, इसलिए आपके पास क्या live था और कब था, इसका साफ़ record बना रहता है।Competitive Price-Matching
किसी एक market को local competitor से match करने के लिए pin करें। United Kingdom में £9.00 का
by_country rule GBP/USD rate में उतार-चढ़ाव के बावजूद उसी exact price को बनाए रखता है।मुख्य अवधारणाएँ
- मूल्य निर्धारण मोड — कोई उत्पाद एक समय में केवल एक मोड में होता है, जिसे उसके
pricing_modeद्वारा निर्धारित किया जाता है:by_currency: देश की परवाह किए बिना, प्रत्येक मुद्रा के लिए एक कीमत। EUR में भुगतान करने वाले सभी लोगों को €9.99 दिखाई देता है।by_country: किसी देश के लिए विशिष्ट कीमत (भारत में ₹999), भले ही कई देश एक ही मुद्रा साझा करते हों।
- सबसे छोटी इकाई में निश्चित राशियाँ — किसी नियम का
amountमुद्रा की सबसे छोटी इकाई में एक integer होता है, जैसा API में हर जगह होता है:99900₹999.00 है, और999€9.99 है। यह आपके द्वारा निर्धारित कीमत है, परिवर्तित मूल्य कभी नहीं। - मिलान किया गया नियम स्वचालित मूल्य निर्धारण पर प्राथमिकता पाता है — जब किसी line पर स्थानीयकृत नियम लागू होता है, तो उस line के लिए Purchasing Power Parity और Charm Pricing दोनों छोड़ दिए जाते हैं। checkout पर ग्राहक आपके द्वारा निर्धारित राशि ही चुकाता है। subscription plan बदलने पर, subscription से अलग मुद्रा वाले नियम को परिवर्तित किया जाता है; subscription plan बदलावों पर यह कैसे लागू होता है देखें।
- जब कोई नियम मेल नहीं खाता — उत्पाद का मौजूदा व्यवहार बना रहता है: आपकी base currency में ग्राहक सीधे base price चुकाते हैं; अन्य सभी ग्राहकों के लिए इसे Adaptive Currency के माध्यम से परिवर्तित किया जाता है।
- नियम के मेल खाने पर fees शामिल होती हैं — ग्राहक ठीक वही राशि चुकाता है जो आपने निर्धारित की है। Adaptive Currency का FX शुल्क आप वहन करते हैं (उस transaction के लिए fees-inclusive माना जाता है), ग्राहक से अतिरिक्त रूप से नहीं लिया जाता; इसलिए आपकी बताई गई local price ही हमेशा charge की जाने वाली कीमत होती है।
Dashboard में सेट अप करें
1
Open the product form
अपने Merchant Dashboard में Products पर जाएँ और एक उत्पाद बनाएँ (या किसी मौजूदा उत्पाद को edit करने के लिए खोलें)। सामान्य रूप से base Price और currency सेट करें।
2
Enable Localized Pricing and choose a mode
Pricing section में Localized Pricing चुनें, फिर By Country या By Currency चुनें।

3
Add a price for each market
Add Country Price या Add Currency Price पर क्लिक करें, Localized pricing panel भरें और Add पर क्लिक करें। आपके द्वारा जोड़ा गया प्रत्येक market overrides table में दिखाई देगा, जहाँ आप बाद में उसे edit या remove कर सकते हैं।
- By Country
- By Currency
एक country चुनें, currency चुनें और राशि दर्ज करें (उदाहरण के लिए भारत के लिए ₹999), फिर Add पर क्लिक करें।
अब country Country overrides table में दिखाई देता है, जहाँ आप उसे edit या remove कर सकते हैं।


4
Save the product
Add product से save करें। Localized prices तुरंत future checkouts पर लागू हो जाती हैं।
ऐसे billing country के साथ test checkout चलाएँ, जिसके लिए कोई नियम है, और पुष्टि करें कि localized amount दिखाई दे रही है।
API के माध्यम से प्रबंधित करें
Localized Pricing API के माध्यम से पूरी तरह उपलब्ध है। पहले उत्पाद का pricing mode सेट करें, फिर rules जोड़ें।Pricing Mode सेट करें
उत्पाद बनाते समय (या किसी मौजूदा उत्पाद को update करते समय)pricing_mode सेट करें। null का अर्थ base-only है, यानी मौजूदा व्यवहार।
Localized Price जोड़ें
उत्पाद में एक rule जोड़ें।by_country mode में country_code आवश्यक है; by_currency mode में इसे छोड़ना होगा।
by_currency उत्पाद के लिए country_code को छोड़ दें। उदाहरण के लिए, EUR में भुगतान करने वाले सभी लोगों के लिए एक निश्चित €9.99 (currency: 'EUR', amount: 999)।
सूचीबद्ध करें, Update करें और Archive करें
आप केवल किसी rule काamount update कर सकते हैं; currency और country बनाए जाने के बाद स्थिर रहते हैं। Archiving एक idempotent soft-delete है, इसलिए rule का matching बंद हो जाता है, लेकिन वह आपके history में बना रहता है।
API Reference
Product Localized Prices के पूरे endpoints देखें: create, list, retrieve, update और archive।
Checkout पर यह कैसे लागू होता है
Localized pricing प्रत्येक cart line के लिए resolve की जाती है, और केवल उन products के लिए जिनमेंpricing_mode सेट है। Dodo Payments request से दो signals पढ़ता है: customer का billing country, और वैकल्पिक billing_currency (जब इसे नहीं दिया जाता, तो billing country से currency प्राप्त की जाती है)।
- By Country: billing country से मेल खाने वाला rule खोजता है। यदि कोई rule मिलता है, तो customer से rule की currency में उसकी amount charge की जाती है।
- By Currency: customer की currency से मेल खाने वाला rule खोजता है (
billing_currency, या उनके country से प्राप्त currency)। यदि कोई rule मिलता है, तो customer से उसी currency में rule की amount charge की जाती है। - कोई match नहीं, या
pricing_modeनहीं है: base price लागू होती है; customer की currency base currency के बराबर होने पर सीधे charge की जाती है, अन्यथा Adaptive Currency के माध्यम से परिवर्तित की जाती है।
Subscription Plan बदलावों पर यह कैसे लागू होता है
Subscribers के plan बदलने पर भी localized pricing उनके साथ बनी रहती है। जब कोई मौजूदा subscription plan बदलकर ऐसे product पर जाती है जिसमेंpricing_mode सेट है, तो नए plan की price checkout जैसे ही rules से resolve की जाती है, subscription पर पहले से locked billing country और currency का उपयोग करके:
- By Country: subscription के billing country से मेल खाने वाला rule लागू होता है। यदि rule की currency उस currency से अलग है जिसमें subscription billed है, तो rule की amount को live FX rates पर परिवर्तित किया जाता है — rule लागू होता है, छोड़ा नहीं जाता।
- By Currency: customer को billed currency से मेल खाने वाला rule लागू होता है और customer से ठीक rule की amount charge की जाती है।
- कोई match नहीं, या
pricing_modeनहीं है: नए plan की base price लागू होती है, आवश्यकता होने पर Adaptive Currency के माध्यम से परिवर्तित की जाती है — checkout जैसा ही fallback।
- Previews सटीक होते हैं। Preview Change Plan वही localized amount लौटाता है जिसे वास्तविक change charge करता है।
- Renewals localized price बनाए रखते हैं। Change के बाद नया plan अपनी localized amount पर renew होता है और fees-inclusive बना रहता है, ठीक उसी तरह जैसे उस price पर बनाई गई subscription।
- Proration वास्तविक amounts का उपयोग करता है। Upgrade पर unused time का credit उस राशि पर आधारित होता है जो customer ने पुराने plan के लिए वास्तव में चुकाई थी, जबकि नए plan की कीमत उसके localized rule से तय होती है।
- Scheduled changes schedule किए जाने पर price lock करते हैं। Billing period के अंत के लिए scheduled change, schedule किए जाने के समय calculate की गई amount charge करता है, भले ही बीच में आप rule edit कर दें।
- Billing currency कभी नहीं बदलती। Plan change उस currency को कभी नहीं बदलता जिसमें subscription settle होती है; किसी अन्य currency वाले rule को FX के माध्यम से उसी currency में परिवर्तित किया जाता है।
- Add-ons localized नहीं होते। नए plan पर add-on prices हमेशा अपनी base pricing का उपयोग करती हैं।
महत्वपूर्ण व्यवहार
Localized rule changes अपने webhooks emit नहीं करते। Resolved amount resulting payment या subscription पर किसी भी अन्य price की तरह दिखाई देती है।
सर्वोत्तम प्रथाएँ
- उचित base price रखें। यह बिना rule वाले प्रत्येक market के लिए fallback है, जिसे Adaptive Currency के माध्यम से परिवर्तित किया जाता है।
- साफ़-सुथरी संख्याएँ दर्ज करें। Fixed amount का उद्देश्य ₹999, €9.99 या ¥1000 जैसी सुव्यवस्थित price है, न कि FX result। प्रत्येक currency में automatic rounding के लिए Charm Pricing देखें।
- काम के अनुसार mode चुनें। Purchasing-power pricing के लिए
by_countryका उपयोग करें; जब प्रत्येक currency zone के लिए एक price पर्याप्त हो, तोby_currencyका उपयोग करें। - Promotions के लिए recreate करने के बजाय archive करें। किसी rule को archive करने से history सुरक्षित रखते हुए market base/adaptive पर लौट जाता है; आवश्यकता के अनुसार बाद में recreate या re-price करें।
- कुल राशि का विज्ञापन करने से पहले tax line पर ध्यान दें। Tax-exclusive products के लिए customer localized amount और tax चुकाता है, इसलिए इसे ads में final price के रूप में quote न करें।
संबंधित
Purchasing Power Parity
प्रत्येक country के लिए एक percentage के साथ prices को country के अनुसार स्वचालित रूप से कम करें।
Charm Pricing
प्रत्येक currency में परिवर्तित prices को 49.99 जैसे साफ़-सुथरे अंतिम अंकों तक round करें।
Adaptive Currency
Automatic FX conversion और fee handling, जिन पर localized pricing आधारित है।
Tax-Inclusive Pricing
नियंत्रित करें कि आपकी prices में tax शामिल है या नहीं।
Pay What You Want
Customers को राशि चुनने दें। वहाँ localized rules लागू नहीं होते।

