> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# स्थानीयकृत मूल्य निर्धारण

> प्रत्येक मुद्रा या देश के लिए अपनी खुद की फिक्स्ड कीमत सेट करें बजाय इसके कि विनिमय दरें तय करें। गोल, बाजार-समर्पित कीमतें चार्ज करें और प्रति देश प्रचार चलाएं।

## स्थानीयकृत मूल्य निर्धारण क्या है?

हर उत्पाद की एक आधार मुद्रा में एक मूल कीमत होती है। स्थानीयकृत मूल्य निर्धारण आपको को **प्रति मुद्रा या प्रति देश सेट की गई निश्चित कीमतों के साथ** उस आधार को ओवरराइड करने देता है। इसे चालू करने के लिए उत्पाद पर एक `pricing_mode` सेट करें, फिर प्रति बाजार एक नियम संलग्न करें।

यह अंतरराष्ट्रीय मूल्य निर्धारण के लिए तीन स्वतंत्र लिवर्ज़ में से एक है, प्रत्येक एक अलग समस्या का समाधान करता है:

| तंत्र                                              | यह क्या करता है                                                    | ग्राहक जो संख्या देखता है                   |
| :------------------------------------------------- | :----------------------------------------------------------------- | :------------------------------------------ |
| **लोकलाइज्ड प्राइसिंग**                            | एक निश्चित मूल्य जो आप प्रति मुद्रा या देश के लिए तय करते हैं      | ठीक वही राशि जो आपने सेट की है              |
| [**एडाप्टिव करेंसी**](/features/adaptive-currency) | आपके बेस प्राइस को लाइव FX रेट्स पर स्वचालित रूप से कनवर्ट करता है | वर्तमान विनिमय दर पर बेस प्राइस का परिवर्तन |
| [**डिस्काउंट कोड**](/features/discount-codes)      | बेस प्राइस पर प्रतिशत की कटौती                                     | बेस प्राइस माइनस डिस्काउंट                  |

<Info>
  स्थानीयकृत मूल्य निर्धारण और अनुकूली मुद्रा एक साथ काम करते हैं। जब कोई स्थानीयकृत नियम मेल नहीं खाता, तो उत्पाद अपने आधार मूल्य पर वापस आ जाता है — यदि ग्राहक पहले से ही आपकी आधार मुद्रा में है, तो वह सीधे चार्ज किया जाता है, या यदि नहीं, तो अनुकूली मुद्रा के माध्यम से रूपांतरित होता है।
</Info>

***

## उपयोग के मामले

<CardGroup cols={2}>
  <Card title="Purchasing Power Parity (PPP)" icon="earth-asia" href="/features/purchasing-power-parity">
    मूल्य-संवेदनशील बाजारों में कम चार्ज करें बिना आपके घरेलू बाजार में छूट के। एक `by_country` नियम एक \$20 मूल उत्पाद को **भारत में ₹999 में बेचने देता है** — स्थानीय क्रय शक्ति के अनुरूप, कोई सीधा FX रूपांतरण नहीं। PPP चलाने का अनुशंसित, देशी तरीका।
  </Card>

  <Card title="Charm Pricing" icon="tag">
    \$19.99 का लाइव FX रूपांतरण €18.43 जैसी अजीब संख्या पर पहुँचता है। एक `by_currency` नियम वह साफ, मनोवैज्ञानिक रूप से समर्पित कीमत सेट करता है जो ग्राहक उम्मीद करते हैं — **€9.99**, **¥1000**, **₹499** — ठीक वैसे ही जैसे टाइप किया गया हो।
  </Card>

  <Card title="Reversible Market-Entry Promotions" icon="rocket">
    एक नए देश में लॉन्च करना? एक `by_country` नियम के साथ एक प्रारंभिक कीमत डालें, फिर **उसे संग्रहित करें** जब प्रचार समाप्त हो जाए तो आधार/अनुकूली मूल्य निर्धारण पर वापस लौटने के लिए। नियम संग्रहित होते हैं, कभी हटाए नहीं जाते, इसलिए आप क्या लाइव था और कब का साफ रिकॉर्ड रखते हैं।
  </Card>

  <Card title="Competitive Price-Matching" icon="bullseye">
    एक स्थानीय प्रतिस्पर्धी से मेल खाने के लिए एकल बाजार को पिन करें। यूनाइटेड किंगडम में **£9.00** के लिए एक `by_country` नियम वह सटीक कीमत बनाए रखता है चाहे GBP/USD दर कैसे भी हिलती हो।
  </Card>
</CardGroup>

***

## मुख्य अवधारणाएँ

* **मूल्य निर्धारण मोड्स** — एक उत्पाद एक बार में ठीक एक मोड में होता है, इसका सेट `pricing_mode`:
  * `by_currency`: देश की परवाह किए बिना, प्रति मुद्रा एक कीमत। सभी EUR में भुगतान करने वाले €9.99 देखते हैं।
  * `by_country`: एक देश विशिष्ट कीमत (भारत में ₹999), तब भी जब कई देश एक मुद्रा साझा करते हैं।
* **फिक्स्ड राशि, सबसे छोटे यूनिट में** — एक नियम का `amount` मुद्रा के सबसे छोटे यूनिट में एक पूर्णांक है, जैसा कि एपीआई में हर जगह है: `99900` ₹999.00 है, `999` €9.99 है। यह एक मूल्य है जो आप सेट करते हैं, कभी भी एक रूपांतरित मूल्य नहीं।
* **जब कोई नियम मेल नहीं खाता** — उत्पाद अपनी मौजूदा व्यवहार रखता है: आपके आधार मुद्रा में ग्राहक सीधे आधार मूल्य का भुगतान करते हैं; बाकी सभी इसे [अनुकूली मुद्रा](/features/adaptive-currency) के माध्यम से रूपांतरित करते हैं।
* **शुल्क शामिल हैं जब एक नियम मिलता है** — ग्राहक **एकदम** वही राशि का भुगतान करते हैं जो आपने सेट की है। [अनुकूली मुद्रा](/features/adaptive-currency#choose-who-bears-the-fee) FX शुल्क आप द्वारा अवशोषित होता है (उस लेन-देन के लिए शुल्क-सहित के रूप में विचार किया गया) बजाय इसे जोड़ने के ऊपर, इसलिए आपकी घोषित स्थानीय कीमत हमेशा चार्ज की गई कीमत होती है।

***

## डैशबोर्ड में सेट अप करें

<Steps>
  <Step title="Open the product form">
    आपके मर्चेंट डैशबोर्ड में, **Products** पर जाएं और एक उत्पाद बनाएं (या संपादित करने के लिए एक मौजूदा खोलें)। सामान्य रूप से आधार **मूल्य** और मुद्रा सेट करें।
  </Step>

  <Step title="Enable Localized Pricing and choose a mode">
    **मूल्य निर्धारण** अनुभाग में, **स्थानीयकृत मूल्य निर्धारण** पर टिक करें, फिर **देश के द्वारा** या **मुद्रा के द्वारा** चुनें।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/pricing-section.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=933fc68155db9639d36d624c0f84dfee" alt="Localized Pricing enabled on the product form with By Country selected" style={{ maxHeight: '450px', width: 'auto' }} width="850" height="580" data-path="images/localized-pricing/pricing-section.png" />
    </Frame>
  </Step>

  <Step title="Add a price for each market">
    **Add Country Price** या **Add Currency Price** पर क्लिक करें, **स्थानीयकृत मूल्य निर्धारण** पैनल भरें, और **Add** पर क्लिक करें। प्रत्येक बाजार जिसे आप जोड़ते हैं वह ओवरराइड्स टेबल में दिखाई देता है, जहां आप इसे बाद में संपादित या हटा सकते हैं।

    <Tabs>
      <Tab title="By Country">
        एक देश चुनें, मुद्रा चुनें, और राशि दर्ज करें (उदाहरण के लिए भारत के लिए ₹999), फिर **Add** पर क्लिक करें।

        <Frame>
          <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/add-country-override.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=62ae6975abd9c023655126a02fab611d" alt="Adding a 999 INR override for India" style={{ maxHeight: '360px', width: 'auto' }} width="1052" height="660" data-path="images/localized-pricing/add-country-override.png" />
        </Frame>

        देश अब **देश ओवरराइड्स** टेबल में दिखाई देता है, जहां आप इसे संपादित या हटा सकते हैं।

        <Frame>
          <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/country-overrides-table.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=1ef8ef7f6368448896015febccd11b58" alt="Country overrides table showing India at 999 INR" style={{ maxHeight: '360px', width: 'auto' }} width="526" height="430" data-path="images/localized-pricing/country-overrides-table.png" />
        </Frame>
      </Tab>

      <Tab title="By Currency">
        एक मुद्रा चुनें और राशि दर्ज करें (उदाहरण के लिए EUR के लिए €9.99), फिर **Add** पर क्लिक करें।

        <Frame>
          <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/add-currency-override.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=8f4b14e3c0ba37b2162cc45fc7b199eb" alt="Adding a 9.99 EUR override" style={{ maxHeight: '360px', width: 'auto' }} width="1052" height="640" data-path="images/localized-pricing/add-currency-override.png" />
        </Frame>

        मुद्रा अब **मुद्रा ओवरराइड्स** टेबल में दिखाई देती है, जहां आप इसे संपादित या हटा सकते हैं।

        <Frame>
          <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/currency-overrides-table.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=ed713ac592444f1685f2fa75de2e8b3f" alt="Currency overrides table showing EUR at 9.99" style={{ maxHeight: '360px', width: 'auto' }} width="1052" height="860" data-path="images/localized-pricing/currency-overrides-table.png" />
        </Frame>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Save the product">
    **Add product** के साथ सहेजें। स्थानीयकृत कीमतें भविष्य की खरीदारी पर तुरंत लागू होती हैं।

    <Check>
      बिलिंग देश के साथ एक परीक्षण चेकआउट चलाएं जिसमें एक नियम है, और सुनिश्चित करें कि स्थानीयकृत राशि दिखाई दे।
    </Check>
  </Step>
</Steps>

***

## API के माध्यम से प्रबंधन करें

स्थानीयकृत मूल्य निर्धारण पूरी तरह से API के माध्यम से उपलब्ध है। पहले उत्पाद की मूल्य निर्धारण मोड सेट करें, फिर नियम संलग्न करें।

### मूल्य निर्धारण मोड सेट करें

`pricing_mode` सेट करें जब आप उत्पाद बनाते हैं (या एक मौजूदा अपडेट करते हैं)। `null` का अर्थ है केवल आधार, मौजूदा व्यवहार।

<CodeGroup>
  ```typescript theme={null} theme={null}
  import DodoPayments from 'dodopayments';

  const client = new DodoPayments({
    bearerToken: process.env.DODO_PAYMENTS_API_KEY,
    environment: 'test_mode',
  });

  const product = await client.products.update('pdt_premium_plan', {
    pricing_mode: 'by_country',
  });
  ```

  ```python theme={null} theme={null}
  import os
  from dodopayments import DodoPayments

  client = DodoPayments(
      bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"),
      environment="test_mode",
  )

  product = client.products.update(
      "pdt_premium_plan",
      pricing_mode="by_country",
  )
  ```

  ```go theme={null} theme={null}
  package main

  import (
  	"context"
  	"os"

  	"github.com/dodopayments/dodopayments-go"
  	"github.com/dodopayments/dodopayments-go/option"
  )

  func main() {
  	client := dodopayments.NewClient(
  		option.WithBearerToken(os.Getenv("DODO_PAYMENTS_API_KEY")),
  	)

  	_, err := client.Products.Update(
  		context.TODO(),
  		"pdt_premium_plan",
  		dodopayments.ProductUpdateParams{
  			PricingMode: dodopayments.F(dodopayments.PricingModeByCountry),
  		},
  	)
  	if err != nil {
  		panic(err)
  	}
  }
  ```
</CodeGroup>

### एक स्थानीयकृत कीमत जोड़ें

उत्पाद के लिए एक नियम जोड़ें। `by_country` मोड में `country_code` आवश्यक है; `by_currency` मोड में इसे छोड़ दिया जाना चाहिए।

<CodeGroup>
  ```typescript theme={null} theme={null}
  // ₹999.00 for customers in India
  const localizedPrice = await client.products.localizedPrices.create('pdt_premium_plan', {
    currency: 'INR',
    country_code: 'IN',
    amount: 99900,
  });
  ```

  ```python theme={null} theme={null}
  # ₹999.00 for customers in India
  localized_price = client.products.localized_prices.create(
      "pdt_premium_plan",
      currency="INR",
      country_code="IN",
      amount=99900,
  )
  ```

  ```go theme={null} theme={null}
  // ₹999.00 for customers in India
  localizedPrice, err := client.Products.LocalizedPrices.New(
  	context.TODO(),
  	"pdt_premium_plan",
  	dodopayments.ProductLocalizedPriceNewParams{
  		Currency:    dodopayments.F(dodopayments.CurrencyInr),
  		CountryCode: dodopayments.F(dodopayments.CountryCodeIn),
  		Amount:      dodopayments.F(int64(99900)),
  	},
  )
  ```
</CodeGroup>

`by_currency` उत्पाद के लिए, `country_code` को छोड़ दें। उदाहरण के लिए, सभी EUR में भुगतान करने वाले के लिए एक फ्लैट `€9.99` (`currency: 'EUR'`, `amount: 999`)।

### सूची, अपडेट, और संग्रहित करें

आप केवल एक नियम के `amount` को अपडेट कर सकते हैं; मुद्रा और देश एक बार बनाने के बाद तय रहते हैं। संग्रहण एक आइडेम्पोटेंट सॉफ़्ट-डिलीट है, इसलिए नियम मेल नहीं खाता लेकिन आपके इतिहास में रहता है।

<CodeGroup>
  ```typescript theme={null} theme={null}
  // List all active rules on a product
  const rules = await client.products.localizedPrices.list('pdt_premium_plan');

  // Change the amount (e.g. end a promo)
  await client.products.localizedPrices.update('lcp_india_price', {
    product_id: 'pdt_premium_plan',
    amount: 119900,
  });

  // Archive a rule
  await client.products.localizedPrices.archive('lcp_india_price', {
    product_id: 'pdt_premium_plan',
  });
  ```

  ```python theme={null} theme={null}
  # List all active rules on a product
  rules = client.products.localized_prices.list("pdt_premium_plan")

  # Change the amount (e.g. end a promo)
  client.products.localized_prices.update(
      "lcp_india_price",
      product_id="pdt_premium_plan",
      amount=119900,
  )

  # Archive a rule
  client.products.localized_prices.archive(
      "lcp_india_price",
      product_id="pdt_premium_plan",
  )
  ```

  ```go theme={null} theme={null}
  // List all active rules on a product
  rules, err := client.Products.LocalizedPrices.List(context.TODO(), "pdt_premium_plan")

  // Change the amount (e.g. end a promo)
  _, err = client.Products.LocalizedPrices.Update(
  	context.TODO(),
  	"pdt_premium_plan",
  	"lcp_india_price",
  	dodopayments.ProductLocalizedPriceUpdateParams{
  		Amount: dodopayments.F(int64(119900)),
  	},
  )

  // Archive a rule
  err = client.Products.LocalizedPrices.Archive(
  	context.TODO(),
  	"pdt_premium_plan",
  	"lcp_india_price",
  )
  ```
</CodeGroup>

<Card title="API Reference" icon="code" href="/api-reference/products/post-products-localized-prices">
  देखें पूर्ण उत्पाद स्थानीयकृत कीमतें अंतःक्रियाएं: बनाएं, सूची, पुनः प्राप्त करें, अपडेट करें, और संग्रहित करें।
</Card>

***

## यह चेकआउट पर कैसे लागू होता है

स्थानीयकृत मूल्य निर्धारण प्रति कार्ट लाइन पर हल किया जाता है, और केवल उन उत्पादों के लिए जिन पर `pricing_mode` सेट है। Dodo Payments अनुरोध से दो संकेत पढ़ता है: ग्राहक का **बिलिंग देश**, और एक वैकल्पिक **`billing_currency`** (जब छोड़ा जाता है, तो एक मुद्रा बिलिंग देश से व्युत्पन्न होती है)।

* **देश के द्वारा**: बिलिंग देश से मेल खाने वाले नियम की खोज करता है। अगर एक मौजूद है, तो ग्राहक को उस मुद्रा में नियम की राशि चार्ज की जाती है।
* **मुद्रा के द्वारा**: ग्राहक की मुद्रा से मेल खाने वाले नियम की खोज करता है (`billing_currency`, या उनके देश से व्युत्पन्न मुद्रा)। अगर एक मौजूद है, तो ग्राहक को उस मुद्रा में नियम की राशि चार्ज की जाती है।
* **कोई मेल नहीं, या कोई `pricing_mode` नहीं**: आधार कीमत लागू होती है, सीधे तब चार्ज की जाती है जब ग्राहक की मुद्रा आधार मुद्रा के बराबर होती है, अन्यथा [अनुकूली मुद्रा](/features/adaptive-currency) के माध्यम से रूपांतरित होती है।

प्रत्येक कार्ट लाइन को स्वयं हल किया जाता है, इसलिए आप एक उत्पाद को स्थानीयकृत कर सकते हैं और अन्य को एक ही चेकआउट में आधार मूल्य निर्धारण पर छोड़ सकते हैं। यदि कोई भी लाइन स्थानीयकृत नियम से मेल खाती है, तो पूरे लेन-देन को फीस-सहित के लिए मजबूर किया जाता है (देखें [मुख्य अवधारणाएँ](#core-concepts))।

***

## महत्वपूर्ण व्यवहार

| व्यवहार                               | विवरण                                                                                                                                                                                                         |
| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **कर से पहले की राशि**                | एक स्थानीयकृत राशि कीमत *कर से पहले* है। कर-विशिष्ट उत्पादों के लिए, कर चेकआउट पर ऊपर जोड़ा जाता है, इसलिए स्थानीयकृत राशि अंतिम कुल नहीं है। देखें [कर-सहित मूल्यनिर्धारण](/features/tax-inclusive-pricing)। |
| **क्या आप जो चाहें भुगतान करें नहीं** | स्थानीयकृत नियम कभी भी [क्या आप जो चाहें भुगतान करें](/features/pay-what-you-want) उत्पादों पर लागू नहीं होते, जहाँ ग्राहक राशि चुनता है।                                                                     |
| **मूल मुद्रा से भिन्न करेंसी**        | A `by_currency` नियम को उत्पाद की आधार मुद्रा से भिन्न मुद्रा का उपयोग करना चाहिए।                                                                                                                            |
| **प्रति बाजार एक नियम**               | एक उत्पाद में प्रत्येक मुद्रा (मुद्रा के द्वारा) या प्रत्येक देश (देश के द्वारा) के लिए अधिकतम एक सक्रिय नियम हो सकता है।                                                                                     |
| **सभी उत्पाद प्रकार**                 | एक बार, सदस्यता, और उपयोग-आधारित उत्पादों पर लागू।                                                                                                                                                            |

<Info>
  स्थानीयकृत नियम परिवर्तन अपने खुद के वेबहुक्स प्रसारित नहीं करते। परिणामी भुगतान या सदस्यता पर हल की गई राशि बिलकुल किसी अन्य कीमत की तरह दिखाई देती है।
</Info>

***

## सर्वोत्तम प्रथाएँ

* **एक समझदार आधार मूल्य रखें।** यह बिना नियम वाले हर बाजार के लिए बैकअप होता है, जिसे अनुकूली मुद्रा के माध्यम से रूपांतरित किया जाता है।
* **स्थानीय चार्म कीमतों पर गोल करें।** फिक्स्ड राशि का पूरा उद्देश्य एक साफ संख्या है जैसे ₹999, €9.99, या ¥1000, न कि FX परिणाम।
* **काम के लिए मोड चुनें।** `by_country` का उपयोग करें क्रय-शक्ति मूल्य निर्धारण के लिए; जब एक मुद्रा क्षेत्र में प्रति मुद्रा कीमत पर्याप्त हो, तब `by_currency` का उपयोग करें।
* **प्रचारों के लिए संग्रहित करें, पुनः न बनाएं।** एक नियम संग्रहण एक बाजार को आधार/अनुकूली में लौटाता है जबकि इतिहास संरक्षित रहता है; ज़रूरत के अनुसार बाद में पुनः बनाएं या पुनः मूल्य लगाएं।
* **कुल का विज्ञापन करने से पहले कर लाइन का ध्यान रखें।** कर-विशिष्ट उत्पादों के लिए ग्राहक को स्थानीयकृत राशि *प्लस* कर का भुगतान करना पड़ता है, इसलिए इसे विज्ञापनों में अंतिम मूल्य के रूप में उद्धृत न करें।

***

## संबंधित

<CardGroup cols={2}>
  <Card title="Purchasing Power Parity" icon="money-bill-trend-up" href="/features/purchasing-power-parity">
    देशी स्थानीयकृत मूल्य निर्धारण बनाम पीपीपी के लिए स्थान-आधारित डिस्काउंट कोड।
  </Card>

  <Card title="Adaptive Currency" icon="money-bill-transfer" href="/features/adaptive-currency">
    स्वचालित FX रूपांतरण और वह शुल्क संभालना जिस पर स्थानीयकृत मूल्य निर्धारण आधारित होता है।
  </Card>

  <Card title="Tax-Inclusive Pricing" icon="receipt" href="/features/tax-inclusive-pricing">
    नियंत्रित करें कि आपकी कीमतों में कर शामिल है या नहीं।
  </Card>

  <Card title="Pay What You Want" icon="hand-holding-dollar" href="/features/pay-what-you-want">
    ग्राहकों को राशि चुनने दें। वहाँ स्थानीयकृत नियम लागू नहीं होते।
  </Card>
</CardGroup>
