> ## 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.

# त्रुटि कोड

> Dodo Payments API और व्यापार-तर्क त्रुटि कोड के लिए संदर्भ, श्रेणी के अनुसार समूहित, ट्रिगर्स, संदेश, और उनका समाधान कैसे करें।

## अवलोकन

Dodo Payments API मानक HTTP स्थिति कोड और कस्टम त्रुटि कोड का उपयोग करता है ताकि API अनुरोधों की सफलता या विफलता को इंगित किया जा सके। जब कोई त्रुटि होती है, तो API एक उपयुक्त HTTP स्थिति कोड और त्रुटि के बारे में विस्तृत जानकारी प्रदान करने वाले JSON प्रतिक्रिया को लौटाता है।

प्रत्येक त्रुटि प्रतिक्रिया में शामिल हैं:

* एक HTTP स्थिति कोड जो त्रुटि की सामान्य श्रेणी को इंगित करता है
* एक विशिष्ट त्रुटि कोड जो त्रुटि की सटीक प्रकृति की पहचान करता है
* एक मानव-पठनीय त्रुटि संदेश जो बताता है कि क्या गलत हुआ
* जब लागू हो, तो त्रुटि के बारे में अतिरिक्त विवरण

इन त्रुटि कोडों और उनके अर्थ को समझना महत्वपूर्ण है:

* एकीकरण मुद्दों को डिबग करने के लिए
* अपने एप्लिकेशन में उचित त्रुटि हैंडलिंग लागू करने के लिए
* अंतिम उपयोगकर्ताओं को अर्थपूर्ण फीडबैक प्रदान करने के लिए
* एक मजबूत भुगतान प्रसंस्करण प्रणाली बनाए रखने के लिए

<Note>
  ये **API और व्यापार-तर्क** त्रुटियाँ हैं। किसी असफल भुगतान पर लौटाए गए **कार्ड अस्वीकार कारणों** के लिए (जैसे `INSUFFICIENT_FUNDS` या `CARD_DECLINED`), [लेनदेन विफलताएं](/api-reference/transaction-failures) संदर्भ देखें।
</Note>

## मानक API त्रुटि कोड

| HTTP स्थिति | नाम                 | विवरण                                                               |
| ----------- | ------------------- | ------------------------------------------------------------------- |
| **400**     | गलत अनुरोध          | अनुरोध विकृत था या इसमें अमान्य पैरामीटर थे                         |
| **401**     | अनधिकृत             | प्रमाणीकरण विफल रहा या API कुंजी अमान्य है                          |
| **403**     | निषिद्ध             | API कुंजी को अनुरोधित संसाधन तक पहुंचने की अनुमति नहीं है           |
| **404**     | नहीं मिला           | अनुरोधित संसाधन मौजूद नहीं है                                       |
| **405**     | विधि अनुमति नहीं है | इस अंत बिंदु के लिए HTTP विधि समर्थित नहीं है                       |
| **409**     | टकराव               | अनुरोध संसाधन की वर्तमान स्थिति से टकराता है                        |
| **422**     | अशोधित इकाई         | अनुरोध अच्छी तरह से बना था लेकिन इसमें अर्थ संबंधी त्रुटियाँ थीं    |
| **429**     | बहुत सारे अनुरोध    | दर सीमा पार कर गई                                                   |
| **500**     | आंतरिक सर्वर त्रुटि | हमारे सर्वरों पर एक अप्रत्याशित त्रुटि हुई                          |
| **502**     | खराब गेटवे          | सर्वर को अपस्ट्रीम सर्वर से अमान्य प्रतिक्रिया प्राप्त हुई          |
| **503**     | सेवा अनुपलब्ध       | सेवा अस्थायी रूप से अनुपलब्ध है                                     |
| **504**     | गेटवे समय-समाप्ति   | सर्वर अपस्ट्रीम प्रतिक्रिया की प्रतीक्षा करते समय समय समाप्त हो गया |

## त्रुटि प्रतिक्रिया प्रारूप

जब कोई त्रुटि होती है, तो API निम्नलिखित संरचना के साथ JSON प्रतिक्रिया लौटाता है:

```json theme={null}
{
  "code": "UNSUPPORTED_COUNTRY",
  "message": "Country AI currently not supported"
}
```

## त्रुटि कोड संदर्भ

नीचे दिए गए त्रुटि कोड उस API क्षेत्र द्वारा समूहित हैं जिससे वे संबंधित हैं। प्रत्येक प्रविष्टि में इसे ट्रिगर करने की स्थिति और API द्वारा लौटाया गया संदेश सूचीबद्ध है।

### प्रमाणीकरण और खाता

* `UNAUTHORIZED`
  * **ट्रिगर:** कोई API कुंजी या अमान्य टोकन/स्कोप नहीं
  * **संदेश:** इस क्रिया को करने की आपको अनुमति नहीं है

* `MERCHANT_NOT_LIVE`
  * **ट्रिगर:** व्यवसाय अभी भी परीक्षण/सैंडबॉक्स मोड में है
  * **संदेश:** व्यापारी लाइव नहीं है

### भुगतान और चेकआउट

* `CHECKOUT_SESSION_CONSUMED`
  * **ट्रिगर:** चेकआउट सत्र पहले से ही भुगतान उत्पन्न कर चुका है
  * **संदेश:** चेकआउट सत्र पहले ही उपयोग किया जा चुका है

* `NO_ELIGIBLE_PAYMENT_METHODS`
  * **ट्रिगर:** फिल्टर के बाद कुछ नहीं बचा
  * **संदेश:** कोई उपयुक्त भुगतान विधियाँ नहीं मिलीं

* `PAYMENT_NOT_SUCCEEDED`
  * **ट्रिगर:** असफल भुगतान के लिए रिफंड/प्रोसेस प्रयास
  * **संदेश:** दिए गए भुगतान में सफलता नहीं मिली है

* `PREVIOUS_PAYMENT_PENDING`
  * **ट्रिगर:** पहले का शुल्क गैर-समाप्त स्थिति में होने पर नया शुल्क बनाने का प्रयास
  * **संदेश:** नया शुल्क नहीं बना सकते क्योंकि पिछला भुगतान अभी तक सफल नहीं हुआ है

* `UNSUCCESSFUL_PAYMENT_ID`
  * **ट्रिगर:** भुगतान पहचान असफल भुगतान का संदर्भ देता है
  * **संदेश:** भुगतान पहचान असफल स्थिति में है।

### कनेक्टर और BYOP

ये त्रुटियाँ व्यापारी-स्वामित्व वाले भुगतान कनेक्टर्स (अपना प्रोसेसर लाओ) से संबंधित हैं।

* `BYOP_CONNECTOR_DISABLED`
  * **ट्रिगर:** अक्षम BYOP कनेक्टर के माध्यम से रूट की गई सदस्यता पर भुगतान विधि को अपडेट करना
  * **संदेश:** सदस्यता व्यापारी के अपने (BYOP) कनेक्टर के माध्यम से रूट की गई है जो वर्तमान में अक्षम है

* `BYOP_CUSTOM_INVOICE_ADDRESS_MISSING`
  * **ट्रिगर:** एक व्यापारी-रूट (BYOP) भुगतान आवश्यक कस्टम इनवॉइस पता गायब है
  * **संदेश:** जब किसी भुगतान को व्यापारी के कनेक्टर के माध्यम से रूट किया जाता है तो BYOP कस्टम इनवॉइस पते की आवश्यकता होती है

* `CONNECTOR_LABEL_ALREADY_EXISTS`
  * **ट्रिगर:** पहले से मौजूद लेबल के साथ कनेक्टर बनाना
  * **संदेश:** इस लेबल के साथ एक कनेक्टर पहले से मौजूद है। कृपया एक अलग लेबल चुनें।

### रिफंड

* `EXISTING_REFUND_REQUEST_PROCESSING`
  * **Trigger:** Previous refund request still being processed
  * **Message:** स्थिति "Pending" वाले रिफंड अनुरोध को अभी भी संसाधित किया जा रहा है

* `LINE_ITEM_FULLY_REFUNDED`
  * **ट्रिगर:** पहले से पूरी तरह से रिफंड की गई लाइन आइटम को रिफंड करने का प्रयास
  * **संदेश:** लाइन आइटम {id} को पूरी तरह से रिफंड कर दिया गया है और इसे और अधिक रिफंड नहीं किया जा सकता।

* `LINE_ITEM_NOT_FOUND`
  * **ट्रिगर:** संदर्भित भुगतान का हिस्सा नहीं है आइटम आईडी
  * **संदेश:** भुगतान में लाइन आइटम {id} नहीं मिला

* `LINE_ITEM_PRORATED`
  * **ट्रिगर:** प्रोरटेड लाइन पर रिफंड या अपडेट का प्रयास किया गया
  * **संदेश:** लाइन आइटम {id} को रिफंड नहीं किया जा सकता क्योंकि यह प्रोरटेड है

* `LINE_ITEM_REFUND_AMOUNT_TOO_HIGH`
  * **ट्रिगर:** रिफंड राशि > भुगतान की गई राशि (कर सहित)
  * **संदेश:** लाइन आइटम {id} अनुरोधित रिफंड राशि कर सहित {amount} है जो भुगतान की गई राशि {amount} से अधिक है

* `LINE_ITEM_REFUND_AMOUNT_TOO_LOW`
  * **ट्रिगर:** न्यूनतम सीमा से नीचे रिफंड राशि
  * **संदेश:** लाइन आइटम {id} अनुरोधित रिफंड राशि {amount} है जो बहुत कम है

* `NOTHING_TO_REFUND`
  * **ट्रिगर:** कोई वापसी योग्य राशि शेष नहीं है; सभी सकारात्मक लाइन आइटम पहले से पूरी तरह से रिफंड किए गए हैं
  * **संदेश:** कोई वापसी योग्य राशि शेष नहीं है। सभी सकारात्मक लाइन आइटम पहले से पूरी तरह से रिफंड कर दिए गए हैं।

* `PARTIAL_REFUND_NOT_ALLOWED`
  * **ट्रिगर:** आंशिक रिफंड का प्रयास एक भुगतान विधि पर जो केवल पूर्ण रिफंड का समर्थन करता है
  * **संदेश:** इस भुगतान विधि के लिए आंशिक रिफंड की अनुमति नहीं है

* `PAYMENT_ALREADY_REFUNDED`
  * **ट्रिगर:** डुप्लिकेट रिफंड
  * **संदेश:** इस भुगतान को पहले ही रिफंड किया जा चुका है

* `PAYMENT_HAS_BEEN_REFUNDED`
  * **ट्रिगर:** भुगतान पहले ही पूरी तरह से रिफंड हो चुका है
  * **संदेश:** पेमेंट आईडी को पूरी तरह से रिफंड कर दिया गया है।

* `REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT`
  * **ट्रिगर:** कुल रिफंड राशि > भुगतान की गई राशि
  * **संदेश:** गणना की गई रिफंड राशि भुगतान की गई राशि से बड़ी है

* `REFUND_WINDOW_EXPIRED`
  * **ट्रिगर:** स्वीकार्य रिफंड विंडो के बाहर
  * **संदेश:** भुगतान निर्माण के {days} दिनों के बाद रिफंड शुरू नहीं किया जा सकता। [support@dodopayments.com](mailto:support@dodopayments.com) से संपर्क करें।

* `ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED`
  * **ट्रिगर:** शून्य-मूल्य भुगतान पर रिफंड का प्रयास
  * **संदेश:** शून्य मुद्रा राशि के भुगतान को रिफंड नहीं किया जा सकता

### सदस्यताएँ और ऐड-ऑन

* `ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED`
  * **ट्रिगर:** उपयोग-आधारित बिलिंग सदस्यताओं में ऐडऑन जोड़ने का प्रयास
  * **संदेश:** उपयोग आधारित बिलिंग के लिए सदस्यताओं में ऐडऑन समर्थित नहीं हैं

* `ADDONS_NOT_ALLOWED_FOR_ON_DEMAND`
  * **ट्रिगर:** आवश्यकता-आधारित सदस्यताओं में ऐडऑन जोड़ने का प्रयास
  * **संदेश:** आवश्यकता-आधारित सदस्यताओं के लिए ऐडऑन की अनुमति नहीं है

* `CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED`
  * **ट्रिगर:** ग्राहक पोर्टल एक निर्धारित योजना परिवर्तन को रद्द करने का प्रयास करता है जबकि व्यवसाय ने उस क्रिया को अक्षम कर दिया है
  * **संदेश:** ग्राहक पोर्टल के लिए निर्धारित योजना परिवर्तन को रद्द करना अक्षम है।

* `CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION`
  * **ट्रिगर:** रद्द करने के लिए निर्धारित सदस्यता को चार्ज करने का प्रयास
  * **संदेश:** रद्द करने के लिए निर्धारित सदस्यता

* `CUSTOMER_HAS_EXISTING_SUBSCRIPTION`
  * **ट्रिगर:** किसी ग्राहक के लिए सदस्यता बनाना जिसके पास पहले से ही एक है, जब प्रति ग्राहक कई सदस्यताएँ अनुमत नहीं हैं
  * **संदेश:** ग्राहक {id} के पास पहले से एक सदस्यता है। प्रति ग्राहक कई सदस्यताओं की अनुमति देने के लिए, व्यवसाय सेटिंग बदलें

* `DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL`
  * **ट्रिगर:** ग्राहक पोर्टल योजना परिवर्तन में `do_not_bill` प्रोरशन मोड का उपयोग किया गया है
  * **संदेश:** ग्राहक पोर्टल में do\_not\_bill प्रोरशन मोड की अनुमति नहीं है

* `DUPLICATE_ADDON_IDS_IN_REQUEST`
  * **ट्रिगर:** अनुरोध में `addon_id` एक से अधिक बार दिखाई देता है
  * **संदेश:** डुप्लिकेट ऐडऑन आईडी की अनुमति नहीं है

* `INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED`
  * **ट्रिगर:** निष्क्रिय सदस्यता पर योजना परिवर्तन
  * **संदेश:** निष्क्रिय सदस्यताओं के लिए योजनाएँ बदलना समर्थित नहीं है

* `INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE`
  * **ट्रिगर:** `effective_at: next_billing_date` के साथ `full_immediately` के अलावा कोई अन्य प्रोरशन मोड
  * **संदेश:** केवल full\_immediately प्रोरशन मोड की अनुमति है

* `MISSING_ADDON_IDS`
  * **ट्रिगर:** `addon_id` सूची खाली है या अज्ञात आईडी है
  * **संदेश:** एक या एक से अधिक उत्पाद आईडी मौजूद नहीं हैं: {id}

* `ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED`
  * **ट्रिगर:** आवश्यकता-आधारित के लिए योजना स्वैप की अनुमति नहीं है
  * **संदेश:** आवश्यकता-आधारित सदस्यताओं के लिए योजनाएँ बदलना समर्थित नहीं है

* `ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED`
  * **ट्रिगर:** आवश्यकता-आधारित बिलिंग के साथ ऑन-डिमांड का उपयोग करने का प्रयास
  * **संदेश:** आवश्यकता-आधारित बिलिंग के लिए ऑन-डिमांड सदस्यताएँ समर्थित नहीं हैं

* `ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND`
  * **ट्रिगर:** ऑन-डिमांड सदस्यता में एक बार का उत्पाद जोड़ा गया
  * **संदेश:** आवश्यकता-आधारित सदस्यताओं के लिए एक बार के उत्पादों की अनुमति नहीं है

* `PENDING_PLAN_CHANGE_EXISTS`
  * **ट्रिगर:** कोई नया योजना परिवर्तन अनुरोधित है जबकि एक पूर्व वाला अभी भी भुगतान की प्रतीक्षा कर रहा है
  * **संदेश:** इस सदस्यता के लिए एक लंबित योजना परिवर्तन पहले से मौजूद है। कृपया वर्तमान भुगतान समाप्त होने की प्रतीक्षा करें।

* `PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED`
  * **ट्रिगर:** ग्राहक पोर्टल के माध्यम से योजना परिवर्तन जब व्यवसाय ने इसे अक्षम कर दिया है
  * **संदेश:** ग्राहक पोर्टल के लिए सदस्यता योजना परिवर्तन अक्षम है।

* `PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION`
  * **ट्रिगर:** रद्द करने के लिए निर्धारित सदस्यता पर योजना परिवर्तन का प्रयास
  * **संदेश:** रद्द करने के लिए निर्धारित सदस्यता

* `SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED`
  * **ट्रिगर:** ग्राहक पोर्टल के माध्यम से एक योजना परिवर्तन का शेड्यूल बनाना जबकि व्यवसाय ने इसे अक्षम कर दिया है
  * **संदेश:** इस व्यवसाय के लिए योजना परिवर्तन शेड्यूल करना अक्षम है।

* `SCHEDULED_PLAN_CHANGE_EXISTS`
  * **ट्रिगर:** जब एक पहले से मौजूद हो तो एक निर्धारित योजना परिवर्तन बनाना
  * **संदेश:** इस सदस्यता के लिए एक निर्धारित योजना परिवर्तन पहले से मौजूद है। कृपया एक नया बनाने से पहले मौजूदा निर्धारित परिवर्तन को रद्द करें।

* `SCHEDULED_PLAN_CHANGE_NOT_FOUND`
  * **ट्रिगर:** एक निर्धारित योजना परिवर्तन को संदर्भित करना या रद्द करना जो मौजूद नहीं है
  * **संदेश:** इस सदस्यता के लिए कोई निर्धारित योजना परिवर्तन नहीं मिला।

* `SUBSCRIPTION_EXPIRED`
  * **ट्रिगर:** `ends_at` के बाद बिलिंग
  * **संदेश:** सदस्यता समाप्त हो गई, नए शुल्क नहीं बना सकते

* `SUBSCRIPTION_INACTIVE`
  * **ट्रिगर:** स्थिति ≠ `ACTIVE`
  * **संदेश:** सदस्यता सक्रिय नहीं है

* `SUBSCRIPTION_NOT_ON_DEMAND`
  * **ट्रिगर:** आवश्यक ऑन-डिमांड लेकिन फिक्स्ड इंटरवल मिला
  * **संदेश:** सदस्यता पहले से ऑन डिमांड नहीं है

* `SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED`
  * **ट्रिगर:** सदस्यता भुगतान पुनः प्रयासों ने अधिकतम प्रयासों को पार कर लिया
  * **संदेश:** इस सदस्यता के लिए 10 प्रयासों की अधिकतम पुनः प्रयास सीमा पार हो गई

### उत्पाद, कार्ट और ब्रांड्स

* `BRAND_MISMATCH`
  * **ट्रिगर:** कार्ट आइटम विभिन्न ब्रांडों से संबंधित हैं
  * **संदेश:** उत्पाद कार्ट में सभी आइटम एक ही ब्रांड के होने चाहिए

* `BRAND_NOT_ENABLED`
  * **ट्रिगर:** ब्रांड अक्षम या सक्रिय नहीं है
  * **संदेश:** दिया गया ब्रांड सक्षम नहीं है

* `BRAND_SUBMISSION_NOT_ENABLED`
  * **ट्रिगर:** ब्रांड सत्यापन पुनः सबमिशन सुविधा सक्षम नहीं है
  * **संदेश:** ब्रांड सत्यापन पुनः सबमिशन सक्षम नहीं है

* `FILE_IN_USE`
  * **ट्रिगर:** सक्रिय अधिकार अनुदान द्वारा अभी भी संदर्भित एक डिजिटल उत्पाद फ़ाइल को हटाना (अवलोकन करने के लिए `?force=true` पास करें)
  * **संदेश:** डिजिटल फ़ाइल सक्रिय अनुदानों द्वारा संदर्भित है

* `INVALID_SUGGESTED_PRICE`
  * **ट्रिगर:** स्वचालित मूल्य \< अनुमत न्यूनतम मूल्य
  * **संदेश:** सुझाई गई कीमत न्यूनतम कीमत से कम नहीं हो सकती। 'पे वॉट यू वांट' के मामले में, कीमत न्यूनतम स्वीकार्य राशि के रूप में मानी जाती है

* `LOCALIZED_PRICE_ALREADY_EXISTS`
  * **ट्रिगर:** इस उत्पाद और देश/मुद्रा के लिए एक स्थानीयकृत मूल्य पहले से मौजूद है
  * **संदेश:** इस उत्पाद और देश/मुद्रा के लिए एक स्थानीयकृत मूल्य पहले से मौजूद है

* `LOCALIZED_PRICE_DUPLICATES_BASE`
  * **ट्रिगर:** स्थानीयकृत मूल्य उत्पाद की आधार मुद्रा/देश को डुप्लिकेट करता है
  * **संदेश:** स्थानीयकृत मूल्य उत्पाद की आधार मुद्रा/देश को डुप्लिकेट करता है

* `LOCALIZED_PRICE_SHAPE_MISMATCH`
  * **ट्रिगर:** स्थानीयकृत मूल्य आकार उत्पाद के `pricing_mode` से मेल नहीं खाता
  * **संदेश:** स्थानीयकृत मूल्य आकार उत्पाद के मूल्य निर्धारण\_मोड से मेल नहीं खाता

* `MISSING_PRODUCT_INFORMATION`
  * **ट्रिगर:** उत्पाद मौजूद है लेकिन आवश्यक जानकारी गायब है
  * **संदेश:** उत्पाद {id} मौजूद है लेकिन अन्य आवश्यक जानकारी गायब है या अमान्य है

* `PAY_AS_YOU_WANT_AMOUNT_REQUIRED`
  * **ट्रिगर:** PWYW उत्पाद के लिए मूल्य गायब है
  * **संदेश:** 'पे एस यू वांट' उत्पाद के लिए राशि अनिवार्य है

* `PRODUCT_CART_EMTPY`
  * **ट्रिगर:** खाली उत्पाद कार्ट प्रस्तुत किया गया
  * **संदेश:** उत्पाद\_कार्ट खाली है (त्रुटि कोड जानबूझकर `EMTPY` लिखा गया है ताकि इसे वह मूल्य मिल सके जो API वापस करता है)

* `PRODUCT_COLLECTION_IS_DELETED`
  * **ट्रिगर:** हटाए गए उत्पाद संग्रह पर संचालन
  * **संदेश:** *कोई संदेश नहीं*

* `PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS`
  * **ट्रिगर:** संग्रह से अंतिम उत्पाद (या ऐसे समूह जिसमें उत्पाद हैं) हटाना
  * **संदेश:** संग्रह से अंतिम उत्पाद को हटाया नहीं जा सकता। इसके बजाय संग्रह आर्काइव करें।

* `PRODUCT_IS_DELETED`
  * **ट्रिगर:** उत्पाद को सॉफ्ट-डिलीट किया गया
  * **संदेश:** *कोई संदेश नहीं*

* `PRODUCT_PRICING_MODE_REQUIRED`
  * **ट्रिगर:** उत्पाद के `pricing_mode` सेट होने से पहले स्थानीयकृत मूल्य जोड़ना
  * **संदेश:** स्थानीयकृत मूल्य जोड़ने से पहले उत्पाद मूल्य निर्धारण\_मोड को सेट होना चाहिए

* `SLUG_ALREADY_TAKEN`
  * **ट्रिगर:** अनुरोधित उत्पाद स्लग / शॉर्ट URL पहले से उपयोग में है
  * **संदेश:** स्लग पहले से ही लिया गया है

* `UNABLE_TO_EDIT_PRIMARY_BRAND`
  * **ट्रिगर:** सामान्य एपीआई के माध्यम से प्राथमिक ब्रांड अपडेट का प्रयास
  * **संदेश:** प्राथमिक ब्रांड को इस एपीआई अंत बिंदु के माध्यम से अपडेट नहीं किया जा सकता।

### डिस्काउंट

* `DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION`
  * **ट्रिगर:** इस सदस्यता पर पहले से उपयोग किए गए डिस्काउंट को पुनः लागू करना
  * **संदेश:** यह डिस्काउंट पहले ही इस सदस्यता पर उपयोग किया जा चुका है

* `DISCOUNT_CODE_ALREADY_EXISTS`
  * **ट्रिगर:** डुप्लिकेट डिस्काउंट कोड निर्माण
  * **संदेश:** डिस्काउंट कोड पहले से ही मौजूद है

* `DISCOUNT_CODE_EXPIRED`
  * **ट्रिगर:** डिस्काउंट कोड के `expires_at` दिनांक के बाद
  * **संदेश:** डिस्काउंट कोड की समाप्ति हो गई है

* `DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED`
  * **ट्रिगर:** `usage_limit` तक डिस्काउंट पुनः उपयोग
  * **संदेश:** उपयोग सीमा वर्तमान उपयोग की गई बार से कम नहीं हो सकती / डिस्काउंट कोड ने उपयोग सीमा को पार कर लिया है

* `DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT`
  * **ट्रिगर:** एक उत्पाद में योजना परिवर्तन जिसमें मौजूदा डिस्काउंट लागू नहीं होता
  * **संदेश:** डिस्काउंट नए प्लान के उत्पाद पर लागू नहीं होता

* `DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND`
  * **ट्रिगर:** ऑन-डिमांड सदस्यता पर कोड लागू किया गया
  * **संदेश:** डिस्काउंट कूपन ऑन-डिमांड सदस्यताओं के लिए उपलब्ध नहीं है

* `DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT`
  * **ट्रिगर:** असंबंधित उत्पादों पर कोड लागू किया गया
  * **संदेश:** इस उत्पाद के लिए डिस्काउंट कूपन उपलब्ध नहीं है

* `INVALID_DISCOUNT_CODE`
  * **ट्रिगर:** कोड मौजूद नहीं है / लागू नहीं है
  * **संदेश:** अमान्य डिस्काउंट कोड / डिस्काउंट कोड को कार्ट में किसी भी उत्पाद पर लागू नहीं किया जा सकता

* `INVALID_PERCENTAGE`
  * **ट्रिगर:** प्रतिशत मात्रा > 100% (या 10,000 आधार अंक)
  * **संदेश:** प्रतिशत मात्रा 10000 से अधिक नहीं हो सकती / डिस्काउंट कोड की मात्रा 100% से अधिक नहीं हो सकती

* `UNSUPPORTED_DISCOUNT_TYPE`
  * **ट्रिगर:** फ्लैट-राशि डिस्काउंट, आदि, अब तक लाइव नहीं हैं
  * **संदेश:** अब तक केवल प्रतिशत डिस्काउंट कोड समर्थित हैं

### लाइसेंस कुंजी

* `ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT`
  * **ट्रिगर:** लाइसेंस-कुंजी सक्रियन: नया सीमा \< मौजूदा उदाहरण की गिनती
  * **संदेश:** नया सक्रियन सीमा वर्तमान उदाहरणों की गिनती से कम नहीं हो सकती

* `INACTIVE_LICENSE_KEY`
  * **ट्रिगर:** कुंजी स्थिति ≠ `ACTIVE`
  * **संदेश:** लाइसेंस कुंजी सक्रिय नहीं है

* `LICENSE_KEY_LIMIT_REACHED`
  * **ट्रिगर:** सक्रियन = सीमा
  * **संदेश:** लाइसेंस कुंजी सक्रियन सीमा पार हो गई

* `LICENSE_KEY_NOT_FOUND`
  * **ट्रिगर:** उदाहरण आईडी या कुंजी आईडी अमान्य
  * **संदेश:** लाइसेंस कुंजी उदाहरण नहीं मिला या यह लाइसेंस कुंजी से संबंधित नहीं है

* `NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS`
  * **ट्रिगर:** सब-आधारित कुंजी पर समाप्ति सेट करने का प्रयास
  * **संदेश:** सब्सक्रिप्शन-आधारित लाइसेंस कुंजी के लिए समाप्ति तिथि सेट नहीं कर सकते

### उपयोग-आधारित बिलिंग और मीटर

* `DUPLICATE_METER_IDS_IN_REQUEST`
  * **ट्रिगर:** एक ही मीटर आईडी अनुरोध में कई बार दिखाई देता है
  * **संदेश:** डुप्लिकेट मीटर आईडी की अनुमति नहीं है

* `INVALID_QUANTITY`
  * **ट्रिगर:** उपयोग-आधारित मूल्य निर्धारण के लिए अमान्य मात्रा निर्दिष्ट
  * **संदेश:** उपयोग आधारित मूल्य उत्पादों में केवल 1 मात्रा की अनुमति है

* `METER_IS_DELETED`
  * **ट्रिगर:** हटाए गए मीटर का उपयोग करने का प्रयास
  * **संदेश:** मीटर पहले से ही हटा दिया गया है

* `MISSING_METER_IDS`
  * **ट्रिगर:** मीटर आईडी सूची खाली या अमान्य आईडी होती हैं
  * **संदेश:** एक या अधिक मीटर आईडी मौजूद नहीं हैं: {id}

### क्रेडिट-आधारित बिलिंग

* `CREDIT_ENTITLEMENT_IS_DELETED`
  * **ट्रिगर:** हटाए गए क्रेडिट अधिकार पर संचालित करना
  * **संदेश:** क्रेडिट अधिकार पहले से ही हटा दिया गया है

* `CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS`
  * **ट्रिगर:** एक नाम के साथ क्रेडिट अधिकार बनाना जो पहले से मौजूद है
  * **संदेश:** इस नाम के साथ एक क्रेडिट अधिकार पहले से मौजूद है

* `OVERAGE_LIMIT_EXCEEDED`
  * **ट्रिगर:** उपयोग या क्रेडिट कटौती विन्यासित ओवरएज सीमा को पार कर जाएगी
  * **संदेश:** ओवरएज सीमा पार हो गई

### वॉलेट

* `INSUFFICIENT_WALLET_FUNDS`
  * **ट्रिगर:** वॉलेट बैलेंस \< डेबिट राशि
  * **संदेश:** वॉलेट में अपर्याप्त धनराशि

* `NEGATIVE_BALANCE_ADJUSTMENT`
  * **ट्रिगर:** वॉलेट बैलेंस को नकारात्मक बनाने का प्रयास
  * **संदेश:** वॉलेट बैलेंस को नकारात्मक नहीं बनाया जा सकता

### मुद्रा, कर और क्षेत्र

* `EXCHANGE_RATE_NOT_FOUND`
  * **ट्रिगर:** `from → to` मुद्रा जोड़ी के लिए कोई एफएक्स दर नहीं
  * **संदेश:** करेंसी को करेंसी में कनवर्ट करने के लिए एक्सचेंज दर नहीं मिली

* `INVALID_TAX_ID`
  * **ट्रिगर:** वैट/जीएसटी/टीआईएन सत्यापन विफल रहा
  * **संदेश:** कर आईडी अमान्य है

* `REQUEST_AMOUNT_BELOW_MINIMUM`
  * **ट्रिगर:** राशि \< उत्पाद न्यूनतम
  * **संदेश:** राशि उत्पाद के लिए निर्दिष्ट न्यूनतम राशि से कम नहीं हो सकती

* `TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT`
  * **ट्रिगर:** संयुक्त कार्ट कुल \< गेटवे न्यूनतम
  * **संदेश:** भुगतान प्रक्रिया के लिए {display_str} की न्यूनतम राशि की आवश्यकता होती है

* `UNSUPPORTED_BILLING_CURRENCY`
  * **ट्रिगर:** सब्सक्रिप्शन केवल USD के लिए प्रतिबंधित हैं
  * **संदेश:** सब्सक्रिप्शन के लिए गैर-यूएसडी बिलिंग मुद्रा समर्थित नहीं है

* `UNSUPPORTED_COUNTRY`
  * **ट्रिगर:** जियो अभी तक समर्थित नहीं है
  * **संदेश:** देश {country_name} वर्तमान में समर्थित नहीं है

* `UNSUPPORTED_CURRENCY`
  * **ट्रिगर:** उत्पाद या ऐडऑन मुद्रा अमान्य
  * **संदेश:** मुद्रा वर्तमान में समर्थित नहीं है / केवल यूएसडी और आईएनआर उत्पाद वर्तमान में समर्थित हैं / केवल यूएसडी और आईएनआर ऐडऑन मूल्य के लिए समर्थित हैं / केवल यूएसडी या आईएनआर को बिलिंग\_मुद्रा के लिए अनुरोध कर सकते हैं / मुद्रा समर्थित नहीं है / भारतीय कार्ड सब्सक्रिप्शन के लिए अप्रत्याशित मुद्रा

* `UNSUPPORTED_TAX_CATEGORY`
  * **ट्रिगर:** कर श्रेणी स्ट्रिंग एनम में नहीं है
  * **संदेश:** श्रेणी {category} वर्तमान में समर्थित नहीं है

### सत्यापन और अनुरोध

* `DUPLICATE_LINE_ITEMS_IN_REQUEST`
  * **ट्रिगर:** `items[]` में `item_id` दो बार दिखाई देता है
  * **संदेश:** आइटम\_ऐड्स सरणी में डुप्लिकेट आइटम\_आईडी निर्दिष्ट किए गए हैं

* `INVALID_QUERY_PARAMS`
  * **ट्रिगर:** परस्पर अनन्य / विकृत क्वेरी पैरामीटर
  * **संदेश:** क्वेरी पैरामीटर में केवल या तो समय\_फ्रेम या (आरंभ, अंत) होना चाहिए

* `INVALID_REQUEST_BODY`
  * **ट्रिगर:** विकृत JSON या स्कीमा उल्लंघन
  * **संदेश:** आपका अनुरोध शरीर अमान्य है। कृपया अपनी अनुरोध हैडर और ऑब्जेक्ट चेक करें।

* `INVALID_REQUEST_PARAMETERS`
  * **ट्रिगर:** अर्थ गलत (उदा. अतीत में तारीख)
  * **संदेश:** अगला\_बिलिंग\_तारीख समय को अतीत में बदल नहीं सकते

* `MAXIMUM_KEYS_REACHED`
  * **ट्रिगर:** मेटाडाटा / कस्टम-फील्ड्स ने 50 जोड़ों को पार कर लिया
  * **संदेश:** 50 कुंजी-मूल्य जोड़ों से अधिक

### सामान्य और प्रणाली

* `INTEGER_CONVERSION_FAILURE`
  * **ट्रिगर:** कोई भी पूर्णांक ↔ स्ट्रिंग / दशमलव रूपांतरण जो सर्वर-साइड विफल होता है
  * **संदेश:** पूर्णांक रूपांतरण विफलता

* `INTERNAL_SERVER_ERROR`
  * **ट्रिगर:** अनकॉट अपवाद; आपको सर्वर-साइड विवरण लॉग करना चाहिए
  * **संदेश:** *कोई सार्वजनिक संदेश नहीं (सामान्य 500)*

* `NOT_FOUND`
  * **ट्रिगर:** किसी भी लापता संसाधन के लिए सामान्य 404
  * **संदेश:** आइटम नहीं मिला *(या अधिक विशिष्ट)*

* `TOO_MANY_REQUESTS`
  * **ट्रिगर:** 429 दर-सीमा
  * **संदेश:** *कोई संदेश नहीं*

* `UNSUPPORTED_ACTION`
  * **ट्रिगर:** संसाधन प्रकार के लिए असमर्थित कार्रवाई
  * **संदेश:** उपयोग आधारित सदस्यताओं के लिए योजनाओं को बदलना समर्थित नहीं है

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

1. अपने आवेदन में त्रुटियों को हमेशा सहजता से संभालें
2. उचित त्रुटि लॉगिंग लागू करें
3. अंतिम उपयोगकर्ताओं के लिए उपयुक्त त्रुटि संदेशों का उपयोग करें
4. अस्थायी त्रुटियों के लिए पुनः प्रयास तर्क लागू करें
5. अनसुलझे मुद्दों के लिए सहायता से संपर्क करें

## सहायता

त्रुटि कोड या एकीकरण समस्याओं में अतिरिक्त सहायता के लिए, कृपया हमारी सहायता टीम से [support@dodopayments.com](mailto:support@dodopayments.com) पर संपर्क करें।
