अवलोकन
Dodo Payments API मानक HTTP स्थिति कोड और कस्टम त्रुटि कोड का उपयोग करता है ताकि API अनुरोधों की सफलता या विफलता को इंगित किया जा सके। जब कोई त्रुटि होती है, तो API एक उपयुक्त HTTP स्थिति कोड और त्रुटि के बारे में विस्तृत जानकारी प्रदान करने वाले JSON प्रतिक्रिया को लौटाता है। प्रत्येक त्रुटि प्रतिक्रिया में शामिल हैं:- एक HTTP स्थिति कोड जो त्रुटि की सामान्य श्रेणी को इंगित करता है
- एक विशिष्ट त्रुटि कोड जो त्रुटि की सटीक प्रकृति की पहचान करता है
- एक मानव-पठनीय त्रुटि संदेश जो बताता है कि क्या गलत हुआ
- जब लागू हो, तो त्रुटि के बारे में अतिरिक्त विवरण
- एकीकरण मुद्दों को डिबग करने के लिए
- अपने एप्लिकेशन में उचित त्रुटि हैंडलिंग लागू करने के लिए
- अंतिम उपयोगकर्ताओं को अर्थपूर्ण फीडबैक प्रदान करने के लिए
- एक मजबूत भुगतान प्रसंस्करण प्रणाली बनाए रखने के लिए
मानक API त्रुटि कोड
| त्रुटि कोड | HTTP स्थिति | विवरण |
|---|---|---|
| 400 | खराब अनुरोध | अनुरोध गलत था या इसमें अमान्य पैरामीटर थे |
| 401 | अनधिकृत | प्रमाणीकरण विफल रहा या API कुंजी अमान्य है |
| 403 | निषिद्ध | API कुंजी को अनुरोधित संसाधन तक पहुँचने की अनुमति नहीं है |
| 404 | नहीं मिला | अनुरोधित संसाधन मौजूद नहीं है |
| 405 | विधि की अनुमति नहीं है | HTTP विधि इस एंडपॉइंट के लिए समर्थित नहीं है |
| 409 | संघर्ष | अनुरोध संसाधन की वर्तमान स्थिति के साथ संघर्ष करता है |
| 422 | असंसाध्य इकाई | अनुरोध अच्छी तरह से निर्मित था लेकिन इसमें अर्थ संबंधी त्रुटियाँ थीं |
| 429 | बहुत अधिक अनुरोध | दर सीमा पार हो गई |
| 500 | आंतरिक सर्वर त्रुटि | हमारे सर्वरों पर एक अप्रत्याशित त्रुटि हुई |
| 502 | खराब गेटवे | सर्वर को एक अपस्ट्रीम सर्वर से अमान्य प्रतिक्रिया मिली |
| 503 | सेवा अनुपलब्ध | सेवा अस्थायी रूप से अनुपलब्ध है |
| 504 | गेटवे टाइमआउट | सर्वर अपस्ट्रीम प्रतिक्रिया की प्रतीक्षा करते समय टाइमआउट हो गया |
त्रुटि प्रतिक्रिया प्रारूप
जब कोई त्रुटि होती है, तो API निम्नलिखित संरचना के साथ JSON प्रतिक्रिया लौटाता है:त्रुटि कोड संदर्भ
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Trigger: लाइसेंस-की सक्रियण: नया सीमा < मौजूदा उदाहरण संख्या
- Message: नई सक्रियण सीमा मौजूदा उदाहरण संख्या से कम नहीं हो सकती
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Trigger: उपयोग-आधारित बिलिंग सब्सक्रिप्शन में ऐड-ऑन जोड़ने का प्रयास
- Message: सब्सक्रिप्शन में ऐड-ऑन उपयोग आधारित बिलिंग के लिए समर्थित नहीं हैं
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Trigger: ऑन-डिमांड सब्सक्रिप्शन में ऐड-ऑन जोड़ने का प्रयास
- Message: ऑन-डिमांड सब्सक्रिप्शन के लिए ऐड-ऑन की अनुमति नहीं है
-
BRAND_MISMATCH- Trigger: कार्ट आइटम विभिन्न ब्रांडों से संबंधित हैं
- Message: उत्पाद कार्ट में सभी आइटम को एक ही ब्रांड से संबंधित होना चाहिए
-
BRAND_NOT_ENABLED- Trigger: ब्रांड अक्षम या सक्रिय नहीं है
- Message: प्रदान किया गया ब्रांड सक्षम नहीं है
-
BRAND_SUBMISSION_NOT_ENABLED- Trigger: ब्रांड सत्यापन पुनः प्रस्तुत करने की सुविधा सक्षम नहीं है
- Message: ब्रांड सत्यापन पुनः प्रस्तुत करना सक्षम नहीं है
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Trigger: रद्दीकरण के लिए निर्धारित सब्सक्रिप्शन पर चार्ज करने का प्रयास
- Message: सब्सक्रिप्शन रद्दीकरण के लिए निर्धारित है
-
CHECKOUT_SESSION_CONSUMED- Trigger: चेकआउट सत्र ने पहले ही एक भुगतान उत्पन्न किया है
- Message: चेकआउट सत्र पहले ही उपयोग किया जा चुका है
-
DISCOUNT_CODE_ALREADY_EXISTS- Trigger: डुप्लिकेट छूट कोड निर्माण
- Message: छूट कोड पहले से मौजूद है
-
DISCOUNT_CODE_EXPIRED- Trigger: छूट कोड अपने
expires_atदिनांक से पहले है - Message: छूट कोड समाप्त हो गया
- Trigger: छूट कोड अपने
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Trigger: छूट पुनः उपयोग की गई जब
usage_limitपहुँचा - Message: उपयोग सीमा मौजूदा उपयोग की संख्या से कम नहीं हो सकती / छूट कोड उपयोग सीमा पहुँची
- Trigger: छूट पुनः उपयोग की गई जब
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Trigger: कोड ऑन-डिमांड सब्सक्रिप्शन पर लागू किया गया
- Message: छूट कूपन ऑन-डिमांड सब्सक्रिप्शन के लिए उपलब्ध नहीं है
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Trigger: कोड अप्रासंगिक उत्पादों पर लागू किया गया
- Message: छूट कूपन इस उत्पाद के लिए उपलब्ध नहीं है
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Trigger: समान
item_idदो बारitems[]में दिखाई देता है - Message: आइटम्स एरे में निर्दिष्ट डुप्लिकेट item_ids
- Trigger: समान
-
DUPLICATE_METER_IDS_IN_REQUEST- Trigger: अनुरोध में समान मीटर आईडी कई बार दिखाई देती है
- Message: डुप्लिकेट मीटर आईडी की अनुमति नहीं है
-
EXCHANGE_RATE_NOT_FOUND- Trigger:
from → toमुद्रा जोड़ी के लिए कोई FX दर नहीं है - Message: मुद्रा से मुद्रा में परिवर्तित करने के लिए विनिमय दर नहीं मिली
- Trigger:
-
EXISTING_REFUND_REQUEST_PROCESSING- Trigger: पिछले रिफंड अनुरोध पर अभी भी प्रक्रिया चल रही है
- Message: “लंबित” स्थिति के साथ एक रिफंड अनुरोध अभी भी प्रक्रिया में है
-
INACTIVE_LICENSE_KEY- Trigger: कुंजी स्थिति ≠
ACTIVE - Message: लाइसेंस कुंजी सक्रिय नहीं है
- Trigger: कुंजी स्थिति ≠
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Trigger: निष्क्रिय सब्सक्रिप्शन पर योजना परिवर्तन
- Message: निष्क्रिय सब्सक्रिप्शन के लिए योजनाएँ बदलना समर्थित नहीं है
-
INSUFFICIENT_WALLET_FUNDS- Trigger: वॉलेट बैलेंस < डेबिट राशि
- Message: वॉलेट में अपर्याप्त धन
-
INTEGER_CONVERSION_FAILURE- Trigger: कोई भी पूर्णांक ↔ स्ट्रिंग/दशमलव रूपांतरण जो सर्वर-साइड पर विफल होता है
- Message: पूर्णांक रूपांतरण विफलता
-
INTERNAL_SERVER_ERROR- Trigger: अनकैच्ड अपवाद; आपको सर्वर-साइड पर विवरण लॉग करना चाहिए
- Message: कोई सार्वजनिक संदेश नहीं (सामान्य 500)
-
INVALID_DISCOUNT_CODE- Trigger: कोड मौजूद नहीं है / लागू नहीं है
- Message: अमान्य छूट कोड / छूट कोड को कार्ट में किसी भी उत्पाद पर लागू नहीं किया जा सकता
-
INVALID_PERCENTAGE- Trigger: प्रतिशत राशि > 100% (या 10,000 आधार अंक)
- Message: प्रतिशत राशि 10000 से अधिक नहीं हो सकती / छूट कोड राशि 100% से अधिक नहीं हो सकती
-
INVALID_QUANTITY- Trigger: उपयोग-आधारित मूल्य निर्धारण के लिए निर्दिष्ट अमान्य मात्रा
- Message: उपयोग आधारित मूल्य उत्पादों में केवल 1 मात्रा की अनुमति है
-
INVALID_QUERY_PARAMS- Trigger: आपस में विशेष / गलत क्वेरी पैरामीटर
- Message: क्वेरी पैरामीटर में केवल या तो time_frame या (start, end) होना चाहिए
-
INVALID_REQUEST_BODY- Trigger: गलत JSON या स्कीमा उल्लंघन
- Message: आपका अनुरोध बॉडी अमान्य है। कृपया अपने अनुरोध हेडर और ऑब्जेक्ट की जांच करें।
-
INVALID_REQUEST_PARAMETERS- Trigger: अर्थशास्त्र गलत (जैसे, अतीत में तिथि)
- Message: अगले_billing_date को अतीत के समय में बदलना संभव नहीं है
-
INVALID_SUGGESTED_PRICE- Trigger: PWYW मूल्य < न्यूनतम अनुमत मूल्य
- Message: सुझाया गया मूल्य न्यूनतम मूल्य से कम नहीं हो सकता। यदि आप जो चाहें वह भुगतान करते हैं, तो मूल्य को न्यूनतम स्वीकृत राशि के रूप में माना जाता है
-
INVALID_TAX_ID- Trigger: VAT/GST/TIN मान्यता विफल
- Message: कर आईडी अमान्य है
-
LICENSE_KEY_LIMIT_REACHED- Trigger: सक्रियण = सीमा
- Message: लाइसेंस कुंजी सक्रियण सीमा पहुँच गई
-
LICENSE_KEY_NOT_FOUND- Trigger: उदाहरण आईडी या कुंजी आईडी अमान्य
- Message: लाइसेंस कुंजी उदाहरण नहीं मिला या इस लाइसेंस कुंजी से संबंधित नहीं है
-
LINE_ITEM_FULLY_REFUNDED- Trigger: पहले से पूरी तरह से रिफंड की गई लाइन आइटम पर रिफंड का प्रयास
- Message: लाइन आइटम को पूरी तरह से रिफंड किया गया है, इसे और रिफंड नहीं किया जा सकता।
-
LINE_ITEM_NOT_FOUND- Trigger: आइटम आईडी संदर्भित भुगतान का हिस्सा नहीं है
- Message: लाइन आइटम भुगतान में नहीं मिला
-
LINE_ITEM_PRORATED- Trigger: एक प्रोरटेड लाइन पर रिफंड या अपडेट का प्रयास किया गया
- Message: लाइन आइटम को रिफंड नहीं किया जा सकता क्योंकि यह प्रोरटेड है
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Trigger: रिफंड राशि > भुगतान राशि (कर सहित)
- Message: लाइन आइटम के लिए अनुरोधित रिफंड राशि कर सहित है जो भुगतान राशि से अधिक है
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Trigger: रिफंड राशि न्यूनतम सीमा से नीचे
- Message: लाइन आइटम के लिए अनुरोधित रिफंड राशि है जो बहुत कम है
-
MAXIMUM_KEYS_REACHED- Trigger: मेटाडेटा / कस्टम-फील्ड 50 जोड़े से अधिक हो गए
- Message: 50 कुंजी-मूल्य जोड़े से अधिक है
-
MERCHANT_NOT_LIVE- Trigger: व्यवसाय अभी भी परीक्षण/सैंडबॉक्स मोड में है
- Message: व्यापारी लाइव नहीं है
-
METER_IS_DELETED- Trigger: हटाए गए मीटर का उपयोग करने का प्रयास
- Message: मीटर पहले ही हटा दिया गया है
-
MISSING_ADDON_IDS- Trigger:
addon_idसूची खाली या अज्ञात आईडी - Message: एक या एक से अधिक उत्पाद आईडी मौजूद नहीं हैं:
- Trigger:
-
MISSING_METER_IDS- Trigger: मीटर आईडी सूची खाली या अमान्य आईडी शामिल है
- Message: एक या एक से अधिक मीटर आईडी मौजूद नहीं हैं:
-
MISSING_PRODUCT_INFORMATION- Trigger: उत्पाद मौजूद है लेकिन अनिवार्य जानकारी गायब है
- Message: उत्पाद मौजूद है लेकिन अन्य अनिवार्य जानकारी गायब या अमान्य है
-
NEGATIVE_BALANCE_ADJUSTMENT- Trigger: वॉलेट बैलेंस को नकारात्मक बनाना
- Message: वॉलेट बैलेंस को नकारात्मक नहीं बनाया जा सकता
-
NO_ELIGIBLE_PAYMENT_METHODS- Trigger: फ़िल्टरिंग के बाद, कुछ भी नहीं बचा
- Message: कोई पात्र भुगतान विधियाँ नहीं मिलीं
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Trigger: सब्सक्रिप्शन-आधारित कुंजी पर समाप्ति सेट करने का प्रयास
- Message: सब्सक्रिप्शन-आधारित लाइसेंस कुंजी के लिए समाप्ति तिथि सेट नहीं की जा सकती
-
NOT_FOUND- Trigger: किसी भी गायब संसाधन के लिए सामान्य 404
- Message: आइटम नहीं मिला (या अधिक विशिष्ट)
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Trigger: ऑन-डिमांड के लिए योजना स्वैप की अनुमति नहीं है
- Message: ऑन-डिमांड सब्सक्रिप्शन के लिए योजनाएँ बदलना समर्थित नहीं है
-
ON_DEMAND_SUBSCRIPTIONS_NOT_ENABLED- Trigger: व्यवसाय में फीचर फ्लैग बंद है
- Message: इस व्यवसाय के लिए ऑन-डिमांड सब्सक्रिप्शन सक्षम नहीं हैं
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Trigger: उपयोग-आधारित बिलिंग के साथ ऑन-डिमांड का उपयोग करने का प्रयास
- Message: उपयोग आधारित बिलिंग के लिए ऑन-डिमांड सब्सक्रिप्शन समर्थित नहीं हैं
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Trigger: PWYW उत्पाद के लिए मूल्य गायब
- Message: जो चाहें वह भुगतान करने के लिए राशि अनिवार्य है
-
PAYMENT_ALREADY_REFUNDED- Trigger: डुप्लिकेट रिफंड
- Message: इस भुगतान को पहले ही रिफंड किया जा चुका है
-
PAYMENT_HAS_BEEN_REFUNDED- Trigger: भुगतान को पूरी तरह से रिफंड किया गया है
- Message: भुगतान आईडी को पूरी तरह से रिफंड किया गया है।
-
PAYMENT_NOT_SUCCEEDED- Trigger: असफल भुगतान को रिफंड/प्रोसेस करने का प्रयास
- Message: प्रदान किया गया भुगतान सफल नहीं हुआ है
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Trigger: रद्दीकरण के लिए निर्धारित सब्सक्रिप्शन पर योजना परिवर्तन का प्रयास
- Message: सब्सक्रिप्शन रद्दीकरण के लिए निर्धारित है
-
PREVIOUS_PAYMENT_PENDING- Trigger: पिछले भुगतान के असफल होने पर चार्ज बनाने का प्रयास
- Message: पिछले भुगतान अभी तक सफल नहीं हुआ है, इसलिए नया चार्ज नहीं बनाया जा सकता
-
PRODUCT_CART_EMPTY- Trigger: खाली उत्पाद कार्ट प्रस्तुत की गई
- Message: उत्पाद कार्ट खाली है
-
PRODUCT_IS_DELETED- Trigger: उत्पाद सॉफ्ट-डिलीट किया गया
- Message: कोई संदेश नहीं
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Trigger: कुल रिफंड राशि > भुगतान राशि
- Message: गणना की गई रिफंड राशि भुगतान राशि से अधिक है
-
REFUND_WINDOW_EXPIRED- Trigger: अनुमत रिफंड विंडो के बाहर
- Message: भुगतान निर्माण के दिन बाद रिफंड शुरू नहीं किए जा सकते। सहायता के लिए contact [email protected]।
-
REQUEST_AMOUNT_BELOW_MINIMUM- Trigger: राशि < उत्पाद न्यूनतम
- Message: राशि उत्पाद के लिए निर्दिष्ट न्यूनतम राशि से कम नहीं हो सकती
-
SUBSCRIPTION_EXPIRED- Trigger: बिलिंग
ends_atके बाद - Message: सब्सक्रिप्शन समाप्त हो गया है, नए चार्ज नहीं बनाए जा सकते
- Trigger: बिलिंग
-
SUBSCRIPTION_INACTIVE- Trigger: स्थिति ≠
ACTIVE - Message: सब्सक्रिप्शन सक्रिय नहीं है
- Trigger: स्थिति ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Trigger: अपेक्षित ऑन-डिमांड लेकिन निश्चित अंतराल मिला
- Message: सब्सक्रिप्शन पहले से ही ऑन-डिमांड नहीं है
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Trigger: सब्सक्रिप्शन भुगतान पुनः प्रयास अधिकतम प्रयासों से अधिक हो गए
- Message: इस सब्सक्रिप्शन के लिए 10 प्रयासों की अधिकतम पुनः प्रयास सीमा पार हो गई
-
TOO_MANY_REQUESTS- Trigger: 429 दर-सीमा
- Message: कोई संदेश नहीं
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Trigger: संयुक्त कार्ट कुल < गेटवे न्यूनतम
- Message: भुगतान संसाधित करने के लिए की न्यूनतम राशि की आवश्यकता है
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Trigger: नियमित API के माध्यम से प्राथमिक ब्रांड को अपडेट करने का प्रयास
- Message: प्राथमिक ब्रांड को इस API एंडपॉइंट के माध्यम से अपडेट नहीं किया जा सकता।
-
UNAUTHORIZED- Trigger: कोई API कुंजी या अमान्य टोकन / स्कोप नहीं
- Message: आप इस क्रिया को करने के लिए अधिकृत नहीं हैं
-
UNSUPPORTED_ACTION- Trigger: संसाधन प्रकार के लिए असमर्थित क्रिया
- Message: उपयोग आधारित सब्सक्रिप्शन के लिए योजनाएँ बदलना समर्थित नहीं है
-
UNSUPPORTED_BILLING_CURRENCY- Trigger: सब्सक्रिप्शन USD तक सीमित हैं
- Message: सब्सक्रिप्शन के लिए गैर-USD बिलिंग मुद्रा समर्थित नहीं है
-
UNSUPPORTED_COUNTRY- Trigger: भूगोल अभी तक समर्थित नहीं है
- Message: देश वर्तमान में समर्थित नहीं है
-
UNSUPPORTED_CURRENCY- Trigger: उत्पाद या ऐड-ऑन मुद्रा अमान्य
- Message: मुद्रा वर्तमान में समर्थित नहीं है / केवल USD और INR उत्पाद वर्तमान में समर्थित हैं / केवल USD और INR ऐड-ऑन मूल्य के लिए समर्थित हैं / बिलिंग_मुद्रा के लिए केवल USD या INR का अनुरोध किया जा सकता है / मुद्रा समर्थित नहीं है / भारतीय कार्ड सब्सक्रिप्शन के लिए अप्रत्याशित मुद्रा
-
UNSUPPORTED_DISCOUNT_TYPE- Trigger: फ्लैट-राशि छूट, आदि, अभी तक लाइव नहीं हैं
- Message: अभी केवल प्रतिशत छूट कोड समर्थित हैं
-
UNSUPPORTED_PAYMENT_CURRENCY- Trigger: भुगतान मुद्रा कनेक्टर के लिए अवरुद्ध
- Message: इस लेनदेन के लिए INR लेनदेन समर्थित नहीं है
-
UNSUPPORTED_TAX_CATEGORY- Trigger: कर श्रेणी स्ट्रिंग एनम में नहीं है
- Message: श्रेणी वर्तमान में समर्थित नहीं है
-
UNSUCCESSFUL_PAYMENT_ID- Trigger: भुगतान आईडी असफल भुगतान को संदर्भित करती है
- Message: भुगतान आईडी की असफल स्थिति है।
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Trigger: शून्य राशि के भुगतान को रिफंड करने का प्रयास
- Message: शून्य मुद्रा राशि के भुगतान को रिफंड नहीं किया जा सकता
सर्वोत्तम प्रथाएँ
- हमेशा अपने एप्लिकेशन में त्रुटियों को सुचारू रूप से संभालें
- उचित त्रुटि लॉगिंग लागू करें
- अंतिम उपयोगकर्ताओं के लिए उपयुक्त त्रुटि संदेशों का उपयोग करें
- अस्थायी त्रुटियों के लिए पुनः प्रयास तर्क लागू करें
- अनसुलझे मुद्दों के लिए सहायता से संपर्क करें