Skip to main content

अवलोकन

Dodo Payments API मानक HTTP स्थिति कोड और कस्टम त्रुटि कोड का उपयोग करता है ताकि API अनुरोधों की सफलता या विफलता को इंगित किया जा सके। जब कोई त्रुटि होती है, तो API एक उपयुक्त HTTP स्थिति कोड और त्रुटि के बारे में विस्तृत जानकारी प्रदान करने वाले JSON प्रतिक्रिया को लौटाता है। प्रत्येक त्रुटि प्रतिक्रिया में शामिल हैं:
  • एक HTTP स्थिति कोड जो त्रुटि की सामान्य श्रेणी को इंगित करता है
  • एक विशिष्ट त्रुटि कोड जो त्रुटि की सटीक प्रकृति की पहचान करता है
  • एक मानव-पठनीय त्रुटि संदेश जो बताता है कि क्या गलत हुआ
  • जब लागू हो, तो त्रुटि के बारे में अतिरिक्त विवरण
इन त्रुटि कोडों और उनके अर्थ को समझना महत्वपूर्ण है:
  • एकीकरण मुद्दों को डिबग करने के लिए
  • अपने एप्लिकेशन में उचित त्रुटि हैंडलिंग लागू करने के लिए
  • अंतिम उपयोगकर्ताओं को अर्थपूर्ण फीडबैक प्रदान करने के लिए
  • एक मजबूत भुगतान प्रसंस्करण प्रणाली बनाए रखने के लिए
ये API और व्यापार-तर्क त्रुटियाँ हैं। किसी असफल भुगतान पर लौटाए गए कार्ड अस्वीकार कारणों के लिए (जैसे INSUFFICIENT_FUNDS या CARD_DECLINED), लेनदेन विफलताएं संदर्भ देखें।

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

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

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

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

नीचे दिए गए त्रुटि कोड उस 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
    • ट्रिगर: पहले से पूरी तरह से रिफंड की गई लाइन आइटम को रिफंड करने का प्रयास
    • संदेश: लाइन आइटम को पूरी तरह से रिफंड कर दिया गया है और इसे और अधिक रिफंड नहीं किया जा सकता।
  • LINE_ITEM_NOT_FOUND
    • ट्रिगर: संदर्भित भुगतान का हिस्सा नहीं है आइटम आईडी
    • संदेश: भुगतान में लाइन आइटम नहीं मिला
  • LINE_ITEM_PRORATED
    • ट्रिगर: प्रोरटेड लाइन पर रिफंड या अपडेट का प्रयास किया गया
    • संदेश: लाइन आइटम को रिफंड नहीं किया जा सकता क्योंकि यह प्रोरटेड है
  • LINE_ITEM_REFUND_AMOUNT_TOO_HIGH
    • ट्रिगर: रिफंड राशि > भुगतान की गई राशि (कर सहित)
    • संदेश: लाइन आइटम अनुरोधित रिफंड राशि कर सहित है जो भुगतान की गई राशि से अधिक है
  • LINE_ITEM_REFUND_AMOUNT_TOO_LOW
    • ट्रिगर: न्यूनतम सीमा से नीचे रिफंड राशि
    • संदेश: लाइन आइटम अनुरोधित रिफंड राशि है जो बहुत कम है
  • NOTHING_TO_REFUND
    • ट्रिगर: कोई वापसी योग्य राशि शेष नहीं है; सभी सकारात्मक लाइन आइटम पहले से पूरी तरह से रिफंड किए गए हैं
    • संदेश: कोई वापसी योग्य राशि शेष नहीं है। सभी सकारात्मक लाइन आइटम पहले से पूरी तरह से रिफंड कर दिए गए हैं।
  • PARTIAL_REFUND_NOT_ALLOWED
    • ट्रिगर: आंशिक रिफंड का प्रयास एक भुगतान विधि पर जो केवल पूर्ण रिफंड का समर्थन करता है
    • संदेश: इस भुगतान विधि के लिए आंशिक रिफंड की अनुमति नहीं है
  • PAYMENT_ALREADY_REFUNDED
    • ट्रिगर: डुप्लिकेट रिफंड
    • संदेश: इस भुगतान को पहले ही रिफंड किया जा चुका है
  • PAYMENT_HAS_BEEN_REFUNDED
    • ट्रिगर: भुगतान पहले ही पूरी तरह से रिफंड हो चुका है
    • संदेश: पेमेंट आईडी को पूरी तरह से रिफंड कर दिया गया है।
  • REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT
    • ट्रिगर: कुल रिफंड राशि > भुगतान की गई राशि
    • संदेश: गणना की गई रिफंड राशि भुगतान की गई राशि से बड़ी है
  • REFUND_WINDOW_EXPIRED
    • ट्रिगर: स्वीकार्य रिफंड विंडो के बाहर
    • संदेश: भुगतान निर्माण के दिनों के बाद रिफंड शुरू नहीं किया जा सकता। 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
    • ट्रिगर: किसी ग्राहक के लिए सदस्यता बनाना जिसके पास पहले से ही एक है, जब प्रति ग्राहक कई सदस्यताएँ अनुमत नहीं हैं
    • संदेश: ग्राहक के पास पहले से एक सदस्यता है। प्रति ग्राहक कई सदस्यताओं की अनुमति देने के लिए, व्यवसाय सेटिंग बदलें
  • 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 सूची खाली है या अज्ञात आईडी है
    • संदेश: एक या एक से अधिक उत्पाद आईडी मौजूद नहीं हैं:
  • 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
    • Trigger: Active entitlement grants द्वारा अभी भी referenced digital product file को delete करना
    • Message: Digital file active grants द्वारा referenced है
  • INVALID_SUGGESTED_PRICE
    • ट्रिगर: स्वचालित मूल्य < अनुमत न्यूनतम मूल्य
    • संदेश: सुझाई गई कीमत न्यूनतम कीमत से कम नहीं हो सकती। ‘पे वॉट यू वांट’ के मामले में, कीमत न्यूनतम स्वीकार्य राशि के रूप में मानी जाती है
  • LOCALIZED_PRICE_ALREADY_EXISTS
    • ट्रिगर: इस उत्पाद और देश/मुद्रा के लिए एक स्थानीयकृत मूल्य पहले से मौजूद है
    • संदेश: इस उत्पाद और देश/मुद्रा के लिए एक स्थानीयकृत मूल्य पहले से मौजूद है
  • LOCALIZED_PRICE_DUPLICATES_BASE
    • ट्रिगर: स्थानीयकृत मूल्य उत्पाद की आधार मुद्रा/देश को डुप्लिकेट करता है
    • संदेश: स्थानीयकृत मूल्य उत्पाद की आधार मुद्रा/देश को डुप्लिकेट करता है
  • LOCALIZED_PRICE_SHAPE_MISMATCH
    • ट्रिगर: स्थानीयकृत मूल्य आकार उत्पाद के pricing_mode से मेल नहीं खाता
    • संदेश: स्थानीयकृत मूल्य आकार उत्पाद के मूल्य निर्धारण_मोड से मेल नहीं खाता
  • MISSING_PRODUCT_INFORMATION
    • ट्रिगर: उत्पाद मौजूद है लेकिन आवश्यक जानकारी गायब है
    • संदेश: उत्पाद मौजूद है लेकिन अन्य आवश्यक जानकारी गायब है या अमान्य है
  • 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
    • Trigger: usage_limit तक पहुँचने के बाद discount का दोबारा उपयोग
    • Message: Usage limit, times_used से कम नहीं हो सकती / Discount code ने usage limit पूरी कर ली
    • Note: Terminal — code exhausted है। Retry न करें।
  • DISCOUNT_CONCURRENT_REDEMPTION
    • Trigger: उसी code का एक अन्य redemption usage-limit row lock को बहुत देर तक hold करता रहा (HTTP 503)
    • Message: Discount का redemption concurrently हो रहा है; कृपया retry करें
    • Note: Transient। Code में अभी capacity हो सकती है, इसलिए request को retry करना सुरक्षित है। इसे customer को “code exhausted” के रूप में न दिखाएँ।
  • DISCOUNT_CURRENCY_OPTION_INVALID
    • Trigger: Create या update पर invalid currency_options
    • Message: Flat discount के लिए resolvable default वाली कम-से-कम एक currency option आवश्यक है / Duplicate currency options allowed नहीं हैं / केवल एक currency option को default के रूप में mark किया जा सकता है
  • DISCOUNT_CUSTOMER_NOT_ELIGIBLE
    • Trigger: Customer code की customer_eligibility को पूरा नहीं करता (first_time, existing, या specific code की allow list में नहीं है)
    • Message: Customer इस discount code के लिए eligible नहीं है
  • DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET
    • Trigger: Cart subtotal, checkout currency के लिए configured minimum_subtotal से कम है
    • Message: Cart subtotal, discount के minimum required subtotal से कम है
  • DISCOUNT_NOT_YET_ACTIVE
    • Trigger: Code का उपयोग उसकी starts_at date से पहले किया गया
    • Message: Discount code अभी active नहीं है (starts_at भविष्य में है)
  • DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED
    • Trigger: Customer पहले ही code को per_customer_usage_limit बार redeem कर चुका है
    • Message: इस discount code के लिए per-customer usage limit पार हो गई
  • DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT
    • Trigger: ऐसे product पर plan change करना जिस पर existing discount लागू नहीं होता
    • Message: Discount नए plan के product पर लागू नहीं है
  • DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND
    • Trigger: On-demand subscription पर code लागू किया गया
    • Message: Discount coupon on-demand subscriptions के लिए उपलब्ध नहीं है
  • DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT
    • Trigger: Unrelated product(s) पर code लागू किया गया
    • Message: Discount coupon इस product के लिए उपलब्ध नहीं है
  • INVALID_DISCOUNT_CODE
    • Trigger: Code मौजूद नहीं है / लागू नहीं है
    • Message: Invalid Discount Code / Discount Code cart में किसी भी product पर लागू नहीं किया जा सकता
  • INVALID_PERCENTAGE
    • Trigger: Percent amount > 100% (या 10,000 basis points)
    • Message: Percentage amount 10000 से अधिक नहीं हो सकती / Discount code amount 100% से अधिक नहीं हो सकता
  • UNSUPPORTED_DISCOUNT_TYPE
    • Trigger: ऐसा discount type जो supported नहीं है। percentage और flat दोनों supported हैं; per-unit amount discounts supported नहीं हैं।
    • Message: केवल percentage और flat discount codes supported हैं

License Keys

  • ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT
    • Trigger: License-key activations: new limit < existing instance count
    • Message: New activation limit, current instances count से कम नहीं हो सकती
  • INACTIVE_LICENSE_KEY
    • Trigger: Key status ≠ ACTIVE
    • Message: License key active नहीं है
  • LICENSE_KEY_LIMIT_REACHED
    • Trigger: Activations = limit
    • Message: License key activation limit पहुँच गई
  • LICENSE_KEY_NOT_FOUND
    • Trigger: Instance ID या key ID invalid है
    • Message: License key instance नहीं मिला या यह इस license key से संबंधित नहीं है
  • NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS
    • Trigger: Sub-based key पर expiry set करने का प्रयास
    • Message: Subscription-based license key के लिए expiry date set नहीं की जा सकती

Usage-Based Billing & Meters

  • DUPLICATE_METER_IDS_IN_REQUEST
    • Trigger: Request में वही meter ID कई बार दिखाई देती है
    • Message: Duplicate Meter Ids allowed नहीं हैं
  • INVALID_QUANTITY
    • Trigger: Usage-based pricing के लिए invalid quantity specified है
    • Message: Usage based price products में केवल 1 quantity allowed है
  • METER_IS_DELETED
    • Trigger: Deleted meter का उपयोग करने का प्रयास
    • Message: Meter पहले ही delete किया जा चुका है
  • MISSING_METER_IDS
    • Trigger: Meter ID list empty है या इसमें invalid IDs हैं
    • Message: एक या अधिक meter IDs मौजूद नहीं हैं:

Credit-Based Billing

  • CREDIT_ENTITLEMENT_IS_DELETED
    • Trigger: ऐसे credit entitlement पर operation करना जिसे delete किया जा चुका है
    • Message: Credit entitlement पहले ही delete किया जा चुका है
  • CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS
    • Trigger: ऐसे नाम से credit entitlement create करना जो पहले से मौजूद है
    • Message: इस नाम वाला credit entitlement पहले से मौजूद है
  • OVERAGE_LIMIT_EXCEEDED
    • Trigger: Usage या credit deduction configured overage limit से अधिक हो जाएगा
    • Message: Overage limit पार हो गई

Wallet

  • INSUFFICIENT_WALLET_FUNDS
    • Trigger: Wallet balance < debit amount
    • Message: Wallet में insufficient funds हैं
  • NEGATIVE_BALANCE_ADJUSTMENT
    • Trigger: Wallet balance को negative करने का प्रयास
    • Message: Wallet balance को negative करना allowed नहीं है

Currency, Tax & Region

  • EXCHANGE_RATE_NOT_FOUND
    • Trigger: from → to currency pair के लिए FX rate नहीं है
    • Message: Currency से Currency में convert करने के लिए exchange rate नहीं मिला
  • INVALID_TAX_ID
    • Trigger: VAT/GST/TIN validation विफल हुई
    • Message: Tax Id invalid है
  • REQUEST_AMOUNT_BELOW_MINIMUM
    • Trigger: Amount < product minimum
    • Message: Amount product के लिए specified minimum amount से कम नहीं हो सकती
  • TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT
    • Trigger: Combined cart total < gateway minimum
    • Message: Payment process करने के लिए की minimum amount आवश्यक है
  • UNSUPPORTED_BILLING_CURRENCY
    • Trigger: Requested billing currency इस subscription के लिए supported नहीं है
    • Message: Subscriptions के लिए Non USD billing currency supported नहीं है
  • UNSUPPORTED_COUNTRY
    • Trigger: Geo अभी supported नहीं है
    • Message: Country वर्तमान में supported नहीं है
  • UNSUPPORTED_CURRENCY
    • Trigger: Product या addon currency ऐसी currency नहीं है जिसमें Dodo Payments charge कर सकता है। Base prices किसी भी chargeable currency में set किए जा सकते हैं, इसलिए आमतौर पर इसका अर्थ है कि currency code invalid है या अभी supported नहीं है।
    • Message: Currency वर्तमान में supported नहीं है / वर्तमान में केवल USD और INR products supported हैं / Addon price के लिए केवल USD और INR supported हैं / billing_currency के लिए केवल USD या INR request किया जा सकता है / Currency Not Supported / Indian card subscriptions के लिए Unexpected currency
  • UNSUPPORTED_TAX_CATEGORY
    • Trigger: Tax category string enum में नहीं है
    • Message: Category वर्तमान में supported नहीं है

Validation & Requests

  • DUPLICATE_LINE_ITEMS_IN_REQUEST
    • Trigger: वही item_id, items[] में दो बार दिखाई देता है
    • Message: items array में duplicate item_ids specified हैं
  • INVALID_QUERY_PARAMS
    • Trigger: Mutually exclusive / malformed query parameters
    • Message: Query params में केवल time_frame या (start, end) में से कोई एक होना चाहिए
  • INVALID_REQUEST_BODY
    • Trigger: Malformed JSON या schema violation
    • Message: आपका request body invalid है। कृपया अपने request headers और object की जाँच करें।
  • INVALID_REQUEST_PARAMETERS
    • Trigger: Semantics गलत हैं (जैसे, date past में है)
    • Message: next_billing_date को past time में नहीं बदला जा सकता
  • MAXIMUM_KEYS_REACHED
    • Trigger: Metadata / custom-fields ने 50 pairs की सीमा पार कर ली
    • Message: 50 key-value pairs से अधिक है

General & System

  • INTEGER_CONVERSION_FAILURE
    • Trigger: Server-side विफल होने वाला कोई भी integer ↔ string/decimal conversion
    • Message: Integer Conversion Failure
  • INTERNAL_SERVER_ERROR
    • Trigger: Uncaught exceptions; आपको server-side details log करनी चाहिए
    • Message: कोई public message नहीं (generic 500)
  • NOT_FOUND
    • Trigger: किसी भी missing resource के लिए generic 404
    • Message: Item नहीं मिला (या अधिक specific message)
  • TOO_MANY_REQUESTS
    • Trigger: 429 rate-limit
    • Message: कोई messages नहीं
  • UNSUPPORTED_ACTION
    • Trigger: Resource type के लिए unsupported action
    • Message: Usage based subscriptions के लिए plans बदलना supported नहीं है

Best Practices

  1. अपने application में errors को हमेशा gracefully handle करें
  2. उचित error logging implement करें
  3. End users के लिए appropriate error messages का उपयोग करें
  4. Transient errors के लिए retry logic implement करें
  5. Unresolved issues के लिए support से contact करें

Support

Error codes या integration issues में अतिरिक्त सहायता के लिए, कृपया support@dodopayments.com पर हमारी support team से contact करें।
अंतिम संशोधन 6 अगस्त 2026