मुख्य सामग्री पर जाएं

अवलोकन

जब भी भुगतान प्रयास असफल होता है, Dodo Payments एक विस्तृत विफलता कारण लौटाता है। ये कारण विभिन्न भुगतान विधियों और प्रदाताओं में मानकीकृत होते हैं, ताकि आप अपने ऐप्लिकेशन में स्थिर हैंडलिंग लागू कर सकें। जब कोई भुगतान विफल होता है, payment.failed webhook और भुगतान वस्तु में यह जानकारी होती है:
  • error_code — नीचे दी गई तालिका से मानकीकृत विफलता कारण।
  • error_message — मानव-पढ़ने योग्य व्याख्या।
  • retry_attempt0 मूल चार्ज के लिए, 1 या उच्चतर प्रत्येक अनुसूचित सदस्यता नवीकरण पुनः प्रयास के लिए।
इन विफलता कारणों को समझकर, आप ग्राहकों को स्पष्ट प्रतिक्रिया दे सकते हैं, यह तय कर सकते हैं कि पुनः प्रयास करने योग्य है या नहीं, और अधिक राजस्व पुनः प्राप्त कर सकते हैं। A step-by-step developer guide for reading these codes from webhooks and the API, surfacing them to customers, and deciding when to retry.

सॉफ्ट बनाम हार्ड रिजेक्ट्स

हर विफलता कोड दो श्रेणियों में से एक में आता है। यह भेद यह तय करता है कि आपको वही भुगतान विधि पुनः प्रयास करनी चाहिए या ग्राहक से नई विधि के लिए अनुरोध करना चाहिए।
रिजेक्ट प्रकारइसका अर्थ क्या हैक्या करना चाहिएउदाहरण
सॉफ्ट रिजेक्टअस्थायी या सुधार योग्य — उसी कार्ड का उपयोग बाद में सफल हो सकता है या जब ग्राहक अपनी प्रविष्टि को सही करते हैं।पुनः प्रयास करना सुरक्षित है (थोड़ी देर बाद, या जब ग्राहक अपनी जानकारी को सही कर लें)।INSUFFICIENT_FUNDS, GENERIC_DECLINE, CARD_VELOCITY_EXCEEDED, PROCESSING_ERROR, NETWORK_ERROR, NETWORK_TIMEOUT, TRY_AGAIN_LATER
हार्ड रिजेक्टअंतिम — उसी कार्ड को पुनः प्रयास करने से परिणाम नहीं बदलेंगे।उसी कार्ड को पुनः प्रयास न करें। ग्राहक से अलग भुगतान विधि का उपयोग करने या उनके बैंक से संपर्क करने के लिए कहें।STOLEN_CARD, LOST_CARD, PICKUP_CARD, DO_NOT_HONOR, FRAUDULENT, INVALID_ACCOUNT
सदस्यता नवीकरण के लिए, Dodo Payments इस भेद को स्वचालित रूप से लागू करता है: सॉफ्ट रिजेक्ट्स को Subscription Payment Retries द्वारा पुनः प्रयास किया जाता है, जबकि हार्ड रिजेक्ट्स तुरंत पुनः प्रयास श्रृंखला समाप्त करते हैं और Subscription Dunning के साथ सबसे अच्छा संभाला जाता है। कभी भी ग्राहक को STOLEN_CARD, LOST_CARD, PICKUP_CARD, या FRAUDULENT का असली कारण प्रकट न करें। इसे सतह पर लाना धोखाधड़ी करने वाले को संकेत दे सकता है। हमेशा ग्राहक को एक सामान्य रिजेक्ट संदेश दिखाएं (उदाहरण के लिए, “आपका कार्ड रिजेक्ट कर दिया गया था। कृपया अपने बैंक से संपर्क करें या दूसरा कार्ड उपयोग करें।”) और विशिष्ट कोड को केवल आंतरिक रूप से लॉग करें।

लेन-देन विफलता के कारण

निम्न तालिका में हर विफलता कोड, इसका रिजेक्ट प्रकार, क्या ग्राहक इसे हल कर सकता है, विवरण, और अनुशंसित कार्रवाई की सूची है।
विफलता कोडप्रकारउपयोगकर्ता त्रुटिविवरणअनुशंसित कार्रवाई
AUTHENTICATION_FAILUREסופטכןलेन-देन के दौरान प्रमाणीकरण विफल हो गयाग्राहक से 3DS प्रमाणीकरण पूरा करने और पुनः प्रयास करने, या दूसरा कार्ड उपयोग करने के लिए कहें
AUTHENTICATION_REQUIREDסופטכןलेन-देन को पूरा करने के लिए अतिरिक्त प्रमाणीकरण आवश्यक हैग्राहक को 3DS प्रमाणीकरण पूरा करने के लिए प्रेरित करें। सदस्यता नवीकरण के लिए, ग्राहक से लौटकर प्रमाणीकरण करने के लिए कहें
AUTHENTICATION_TIMEOUTסופטכןप्रमाणीकरण प्रक्रिया समय समाप्त हो गईग्राहक से तुरंत प्रमाणीकरण पूरा करके पुनः प्रयास करने के लिए कहें
CARD_DECLINEDסופטनहींजारीकर्ता बैंक द्वारा कार्ड को बिना किसी विशेष कारण (सामान्य रिजेक्ट) के रिजेक्ट किया गयाग्राहक से पुनः प्रयास करने, उनके बैंक से संपर्क करने, या दूसरा कार्ड उपयोग करने के लिए कहें
CARD_NOT_ACTIVATEDसॉफ्टहाँकार्डधारक द्वारा कार्ड सक्रिय नहीं किया गयाग्राहक से बैंक के साथ कार्ड सक्रिय करने और पुनः प्रयास करने के लिए कहें
CARD_VELOCITY_EXCEEDEDसॉफ्टहाँएक छोटे समय में बहुत से लेन-देन का प्रयास किया गयाग्राहक से प्रतीक्षा करने और बाद में पुनः प्रयास करने या सीमाओं के बारे में अपने बैंक से संपर्क करने के लिए कहें
CUSTOMER_CANCELLEDסופטכןग्राहक ने लेन-देन रद्द कर दियाग्राहक को जब वे तैयार हों, तब चेकआउट पुनः प्रारंभ करने दें
DO_NOT_HONORहार्डनहींजारी बैंक ने स्पष्ट रूप से लेन-देन से इनकार कर दिया (ISO 8583 कोड 05 — सम्मान न करें); नेटवर्क इसे अंतिम मानता हैग्राहक से उनके बैंक से संपर्क करने के लिए कहें; वही कार्ड पुनः प्रयास न करें
EXPIRED_CARDहार्डहाँकार्ड की वैधता समाप्त हो गई हैग्राहक से वैध समाप्ति तिथि वाला कार्ड उपयोग करने के लिए कहें
FRAUDULENTहार्डहाँलेन-देन को संभावित धोखाधड़ी के रूप में चिह्नित किया गयाग्राहक को एक सामान्य रिजेक्ट संदेश दिखाएं — कारण प्रकट न करें। उनसे दूसरे कार्ड का उपयोग करने के लिए कहें
GENERIC_DECLINEסופטनहींलेन-देन को निर्दिष्ट कारण के लिए रिजेक्ट किया गयाग्राहक से उनके बैंक से संपर्क करने या दूसरा कार्ड उपयोग करने के लिए कहें
INCORRECT_CVCסופטכןप्रदान किया गया CVC कोड गलत हैग्राहक से सही CVC पुनः दर्ज करने के लिए कहें
INCORRECT_NUMBERसॉफ्टहाँकार्ड संख्या गलत प्रविष्ट की गईग्राहक से सही कार्ड संख्या पुनः दर्ज करने के लिए कहें
INSUFFICIENT_FUNDSसॉफ्टहाँखाते में लेन-देन पूरा करने के लिए अपर्याप्त धनराशिग्राहक को दूसरी भुगतान विधि उपयोग करने या उपलब्ध होते ही पुनः प्रयास करने के लिए कहें
INVALID_ACCOUNTहार्डहाँप्रदान किए गए खाता विवरण अमान्य हैंग्राहक से उनके बैंक से संपर्क करने या दूसरा कार्ड उपयोग करने के लिए कहें
INVALID_AMOUNTसॉफ्टहाँलेन-देन की राशि अमान्य हैग्राहक के साथ राशि और किसी भी खरीद सीमा की पुष्टि करें
INVALID_CARD_NUMBERसॉफ्टहाँकार्ड संख्या प्रारूप अमान्य हैग्राहक से सही कार्ड संख्या पुनः दर्ज करने के लिए कहें
INVALID_CARD_OWNERसॉफ्टहाँकार्ड धारक की जानकारी अमान्य हैग्राहक से कार्ड धारक नाम सही करने के लिए कहें
INVALID_CVCसॉफ्टहाँCVC प्रारूप अमान्य हैग्राहक से सही CVC पुनः दर्ज करने के लिए कहें
INVALID_EXPIRY_YEARसॉफ्टहाँकार्ड समाप्ति वर्ष अमान्य हैग्राहक से वैध समाप्ति तिथि दर्ज करने के लिए कहें
INVALID_PINसॉफ्टहाँप्रदान किया गया पिन गलत हैग्राहक से सही पिन पुनः दर्ज करने के लिए कहें
INVALID_REQUESTसॉफ़्टहाँलेन-देन अनुरोध में अमान्य डेटा हैभुगतान अनुरोध फ़ील्ड की जाँच करें और सही डेटा के साथ पुनः सबमिट करें
INVALID_UPI_IDसॉफ्टहाँप्रदान किया गया UPI आईडी अमान्य हैग्राहक से वैध UPI आईडी दर्ज करने के लिए कहें
LIMIT_EXCEEDEDसॉफ्टहाँलेन-देन का कार्ड या खाता सीमा से अधिक हैग्राहक से सीमाओं के बारे में अपने बैंक से संपर्क करने, या दूसरी विधि उपयोग करने के लिए कहें
LIVE_MODE_TEST_CARDहार्डहाँकिसी लाइव मोड में एक टेस्ट कार्ड का उपयोग किया गयाएक असली कार्ड का उपयोग करें — लाइव मोड में टेस्ट कार्ड को पुनः प्रयास करना हमेशा असफल होगा
LOST_CARDहार्डहाँकार्ड खोया हुआ रिपोर्ट किया गया हैग्राहक को एक सामान्य रिजेक्ट संदेश दिखाएं — कारण प्रकट न करें। उनसे दूसरे कार्ड का उपयोग करने के लिए कहें
MANDATE_INVALIDसॉफ्टहाँभुगतान अधिदेश अमान्य हैग्राहक से भुगतान अधिदेश को पुनः सेट करने के लिए कहें
MANDATE_REQUIREDसॉफ्टहाँइस लेन-देन के लिए अधिदेश आवश्यक हैएक अधिदेश सेट करें और ग्राहक से इसे चार्ज करने से पहले अनुमोदित करने के लिए कहें
MANDATE_REQUIRED_SYSTEMहार्डनहींइस लेन-देन प्रकार के लिए सिस्टम को एक अधिदेश की आवश्यकता हैएक अधिदेश सेटअप प्रक्रिया को पूरा करें इससे पहले कि चार्ज करें
NETWORK_ERRORसॉफ्टनहींलेन-देन के दौरान एक नेटवर्क त्रुटि हुईअस्थायी — थोड़ी देर बाद भुगतान को पुनः प्रयास करें
NETWORK_TIMEOUTसॉफ्टनहींनेटवर्क अनुरोध का समय समाप्त हो गयाअस्थायी — थोड़ी देर बाद भुगतान को पुनः प्रयास करें
ORDER_ALREADY_EXISTSसॉफ्टनहींइस लेन-देन के लिए पहले से एक ऑर्डर मौजूद है (डुप्लिकेट ऑर्डर निर्माण)पुनः प्रयास करने से पहले मौजूदा ऑर्डर की स्थिति की जाँच करें; यदि यह बना रहता है तो समर्थन से संपर्क करें
ORDER_CREATION_FAILEDसॉफ्टनहींलेन-देन के लिए ऑर्डर निर्माण में विफलअस्थायी/सिस्टम त्रुटि — भुगतान को पुनः प्रयास करें; यदि यह बना रहता है, तो समर्थन से संपर्क करें
PAYMENT_METHOD_PROVIDER_DECLINEDहार्डहाँभुगतान विधि प्रदाता ने लेन-देन को अस्वीकार कर दियाग्राहक से उनके प्रदाता से संपर्क करने या दूसरी भुगतान विधि उपयोग करने के लिए कहें
PAYMENT_METHOD_UNSUPPORTEDहार्डहाँइस लेन-देन के लिए भुगतान विधि समर्थित नहीं हैग्राहक से समर्थित भुगतान विधि उपयोग करने के लिए कहें
PICKUP_CARDहार्डहाँकार्ड को खोया या चोरी हुए के रूप में रिपोर्ट किया गया और पिकअप के लिए चिह्नित किया गयाग्राहक को एक सामान्य रिजेक्ट संदेश दिखाएं — कारण प्रकट न करें। उनसे दूसरे कार्ड का उपयोग करने के लिए कहें
PROCESSING_ERRORसॉफ्टनहींलेन-देन के प्रक्रिया में एक त्रुटि हुईअस्थायी — भुगतान को पुनः प्रयास करें; यदि यह बना रहता है, तो ग्राहक से उनके बैंक से संपर्क करने के लिए कहें
PROVIDER_UNSUPPORTEDहार्डनहींभुगतान प्रदाता इस लेन-देन प्रकार का समर्थन नहीं करता हैग्राहक से दूसरी भुगतान विधि उपयोग करने के लिए कहें
REENTER_TRANSACTIONसॉफ्टहाँलेन-देन को पुनः दर्ज करने की आवश्यकता हैग्राहक से भुगतान को पुनः प्रयास करने के लिए कहें
REVOCATION_OF_AUTHORIZATIONहार्डहाँलेन-देन के लिए प्रमाणीकरण रद्द किया गयाग्राहक से दूसरी भुगतान विधि का उपयोग करने के लिए कहें
STOLEN_CARDहार्डहाँकार्ड को चोरी के रूप में रिपोर्ट किया गयाग्राहक को एक सामान्य रिजेक्ट संदेश दिखाएं — कारण प्रकट न करें। उनसे दूसरे कार्ड का उपयोग करने के लिए कहें
SUBSCRIPTION_NOT_ACTIVEहार्डनहींसदस्यता सक्रिय नहीं है, इसलिए आवर्ती चार्ज को संसाधित नहीं किया जा सकाचार्ज को पुनः प्रयास करने से पहले सदस्यता को पुनः सक्रिय करें (उदाहरण के लिए, भुगतान विधि को अपडेट करके)
TRANSACTION_NOT_ALLOWEDहार्डहाँइस कार्ड या खाते के लिए लेन-देन की अनुमति नहीं हैग्राहक से इस लेन-देन प्रकार की अनुमति देने के लिए उनके बैंक से संपर्क करें, या दूसरा कार्ड उपयोग करें
TRANSACTION_NOT_APPROVEDहार्डहाँलेन-देन को स्वीकृत नहीं किया गयाग्राहक से उनके बैंक से संपर्क करने या दूसरा कार्ड उपयोग करने के लिए कहें
TRY_AGAIN_LATERसॉफ्टनहींलेन-देन को बाद में पुनः प्रयास करना चाहिएअस्थायी — भुगतान को बाद में पुनः प्रयास करें
UNKNOWN_ERRORसॉफ्टनहींअज्ञात त्रुटि हुईभुगतान को पुनः प्रयास करें; यदि यह बना रहता है, तो समर्थन से संपर्क करें
उपयोगकर्ता त्रुटि यह दर्शाती है कि क्या भुगतान रिजेक्ट को ग्राहक द्वारा हल किया जा सकता है। जब Yes, ग्राहक समस्या को हल करने के लिए कार्रवाई कर सकते हैं (उदाहरण के लिए, सही कार्ड विवरण दर्ज करके)। जब No, तो रिजेक्ट सिस्टम-स्तर की समस्याओं या बैंक प्रतिबंधों के कारण होता है जिन्हें ग्राहक सीधे हल नहीं कर सकते।

विफलताओं को प्रोग्रामेटिक रूप से संभालना

error_code को payment.failed webhook या भुगतान वस्तु से पढ़ें, इसे ऊपर सुझाए गए कार्रवाई से मिलाएं, और तय करें कि पुनः प्रयास करना है या नहीं। सदस्यता नवीकरण के लिए, सॉफ्ट रिजेक्ट्स आपके लिए स्वचालित रूप से पुनः प्रयास किए जाते हैं — देखें Subscription Payment Retries API-स्तर और व्यापार-तर्क त्रुटियों के लिए (जैसे PAYMENT_NOT_SUCCEEDED या REFUND_WINDOW_EXPIRED) जो कार्ड रिजेक्ट नहीं हैं, Error Codes संदर्भ देखें।

संबंधित

असफल भुगतानों का पता लगाने, सतह पर लाने और पुनः प्रयास करने के लिए एंड-टू-एंड गाइड। API और व्यावसायिक-तर्क त्रुटि कोड गैर-रिजेक्ट विफलताओं के लिए। सदस्यता नवीकरण पर सॉफ्ट रिजेक्ट्स को पुनः प्राप्त करने वाले स्वचालित पुनः प्रयास। भुगतान विधि अपडेट को प्रेरित करके हार्ड रिजेक्ट्स को पुनः प्राप्त करने वाले ईमेल अनुक्रम।

समर्थन

लेन-देन विफलताओं या एकीकरण समस्याओं के लिए अतिरिक्त मदद के लिए support@dodopayments.com पर हमारी समर्थन टीम से संपर्क करें।
अंतिम संशोधन 18 जून 2026