हस्ताक्षर बेमेल
सबसे आम कारण सटीक रॉ बॉडी के बजाय पार्स किए गए JSON पर हस्ताक्षर करना, या अनुरोध हेडर की तुलना में एक अलग टाइमस्टैम्प का उपयोग करना है।
Webhook टेस्टर
नमूना बॉडी संपादित करें, HMAC-SHA256 हस्ताक्षर और cURL अनुरोध बनाएँ। अपने टेस्ट वातावरण में सत्यापन जाँचें।
पता, टेस्ट कुंजी और टाइमस्टैम्प दर्ज करें।
हस्ताक्षर ब्राउज़र में बनता है। टेस्ट कुंजी का उपयोग करें।
Unix टाइमस्टैम्प मिलीसेकंड में, BoltUtil हेडर के अनुसार।
JSON बदलने पर हस्ताक्षर और cURL अपडेट होते हैं।
वैध कुंजी, टाइमस्टैम्प और JSON दर्ज करें।
मौजूदा टाइमस्टैम्प, मूल बॉडी और टेस्ट कुंजी से गणना होती है।
वैध पता, कुंजी, टाइमस्टैम्प और JSON दर्ज करें।यह USDC ऑर्डर का नमूना कॉलबैक है; USDT भी चुन सकते हैं। ऑर्डर, पते और हैश उदाहरण हैं, भुगतान का प्रमाण नहीं।
यह टूल अनुरोध नहीं भेजता। टेस्ट वातावरण में cURL खुद चलाएँ।
हस्ताक्षर सत्यापन
उसी नियम से सत्यापित करें, इवेंट सुरक्षित रखें, फिर ऑर्डर अपडेट करें।
सत्यापन गाइडHMAC_SHA256(timestamp + "." + rawBody, secret)JSON को पार्स करने से पहले HMAC की गणना करने के लिए हेडर और सटीक रॉ बॉडी से मिलीसेकंड टाइमस्टैम्प का उपयोग करें। व्हाईटस्पेस, लाइन ब्रेक और फ़ील्ड ऑर्डर हस्ताक्षर को प्रभावित करते हैं।
प्राप्त हस्ताक्षर की तुलना अपनी भाषा रनटाइम द्वारा प्रदान किए गए निरंतर-समय सहायक से करें।
ईवेंट को रिकॉर्ड करने या उसे टिकाऊ आंतरिक कतार में डालने के बाद ही सफलता लौटाएँ।
Webhook समस्या निवारण
समस्या का पता लगाने के लिए मूल मुख्य भाग, रहस्य और प्रतिक्रिया स्थिति की जाँच करें।
सबसे आम कारण सटीक रॉ बॉडी के बजाय पार्स किए गए JSON पर हस्ताक्षर करना, या अनुरोध हेडर की तुलना में एक अलग टाइमस्टैम्प का उपयोग करना है।
मर्चेंट एंडपॉइंट के लिए कॉन्फ़िगर किए गए वेबहुक सीक्रेट का उपयोग करें। एपीआई कुंजी और वेबहुक रहस्यों को अलग-अलग क्रेडेंशियल के रूप में माना जाना चाहिए।
JSON मिडलवेयर पेलोड को पुन: व्यवस्थित या पुन: स्वरूपित कर सकता है। एचएमएसी हस्ताक्षरों को सत्यापित करते समय पार्सिंग से पहले कच्चे शरीर को कैप्चर करें।
2xx के अलावा जवाब डिलीवरी विफलता है। दोबारा प्रयास कॉलबैक प्रकार, HTTP स्थिति और नीति पर निर्भर है।
ऑर्डर और स्थिति या अद्वितीय इवेंट ID से डुप्लिकेट हटाएँ। एक हैश में कई ट्रांसफर हो सकते हैं।
अपने डेटाबेस या कतार में ईवेंट लिखने के बाद ही HTTP 2xx लौटाएँ। अन्यथा किसी दुर्घटना के कारण पूर्ण भुगतान अधिसूचना खो सकती है।
FAQ
हस्ताक्षर सत्यापन, प्रतिक्रियाएँ और डुप्लिकेट डिलीवरी।
सटीक कच्चे अनुरोध निकाय, टाइमस्टैम्प हेडर और कॉन्फ़िगर किए गए वेबहुक रहस्य को सत्यापित करें। पार्स किए गए JSON या एक पुन: स्वरूपित निकाय पर हस्ताक्षर करने से आमतौर पर एक अलग HMAC उत्पन्न होता है।
नहीं। BoltUtil HTTP स्थिति देखता है: 2xx सफल प्राप्ति है। पहले इवेंट सत्यापित और सुरक्षित करें।
ऑर्डर और स्थिति या इवेंट ID पर अद्वितीय बाधा या परमाणु ऑपरेशन उपयोग करें। केवल ट्रांजैक्शन हैश पर्याप्त नहीं।
सत्यापन और सुरक्षित करने के बाद 2xx दें। विफलता पर उचित त्रुटि दें; दोबारा प्रयास कॉलबैक प्रकार और नीति पर निर्भर है।