2017-03-08 9 views
7

द्वारा आईपीएन एंडपॉइंट से क्वेरीस्ट्रिंग मान हटा दिए गए हैं, हमारे पास 5 साल तक पेपैल के साथ एक सरल भुगतान एकीकरण है जो आज तक बिना किसी समस्या के चलाया गया है। आईपीएन यूआरएल (notify_url) में हम क्वेरीस्ट्रिंग में 3 मान पास करते हैं उदा।पेपैल

https://www.example.com/callback/ipn?pspId=A&secCode=MnBP%2fxOwbQhXLd%2arD5xd6g%3d%3d&isPur=false 

आज से पेपैल पिछले 2 मानों को तोड़ता है और केवल पहले क्वेरीस्ट्रिंग मान के साथ कॉल करता है, उदा।

https://www.example.com/callback/ipn?pspId=A 

हम एक हस्ताक्षर है कि हम कॉलबैक पर की पुष्टि फार्म के किसी भी संशोधन को रोकने के लिए के रूप में secCode मूल्य का उपयोग करें। पेपैल अचानक क्वेरीस्ट्रिंग से मूल्यों को अलग करना क्यों शुरू कर देगा? मुझे संदेह है कि उन्हें पोस्ट में होना चाहिए, लेकिन मुझे यकीन नहीं है कि अचानक परिवर्तन क्यों हुआ?

+1

हमने 'कस्टम' मान के साथ बिल्कुल वही समस्या देखी है। 'कस्टम' एक पास-थ्रू मान है जिसे हमने भुगतान करते समय सेट किया है, और कॉलबैक में पढ़ा है। हमने इसे एक क्वेरी स्ट्रिंग के रूप में स्वरूपित किया है - इसलिए कुंजी-मूल्य जोड़े एम्पर्सेंड द्वारा अलग किए गए हैं। 7 मार्च के अंत तक, हमने देखा कि केवल पहला मूल्य वापस आ रहा था। – Mike

+1

यदि यह कोई मदद है, तो इस पेपैल को पोस्ट करने के 2 घंटों के भीतर फिर से हमारे पूर्ण अधिसूचना यूआरएल को कॉल करना शुरू कर दिया गया है (संरक्षित मूल्यों को संरक्षित करना)। बस यह देखने के लिए इंतजार कर रहा है कि यह पकड़ जाएगा या नहीं। – QFDev

+1

ठीक है अब हमने फिर से मामलों को देखा है जहां वे पहले के बाद सभी क्वेरीस्ट्रिंग मान हटाते हैं। मेरा मानना ​​है कि उनके पास सर्वर के आधार पर भिन्न तर्क है जो भुगतान अनुरोध उठाता है। हम इन मूल्यों को अभी सुरक्षित होने के लिए POST पर ले जा रहे हैं। – QFDev

उत्तर

3

ठीक है अब हमें एहसास हुआ है कि पेपैल के सर्वर के कुछ पहले एम्पर्सेंड में समाप्त हो रहे हैं। यह बताता है कि हमें पहला क्वेरी स्ट्रिंग मान क्यों मिलता है लेकिन दूसरों को नहीं।

ऐसा लगता है कि यह व्यवहार केवल notify_url मान तक सीमित नहीं है, लेकिन जैसा कि टिप्पणियों में माइक द्वारा सुझाया गया है, यह CUSTOM फ़ील्ड के साथ भी हो रहा है। यदि आप एम्पर्सेंड सेपरेटर के साथ नाम मूल्य जोड़े की एक श्रृंखला के माध्यम से दबाव डाल रहे हैं तो आपको या तो किसी अन्य विभाजक या यूआरएल पर स्विच करने की आवश्यकता है।

हम अभी यह देखने के लिए परीक्षण कर रहे हैं कि पूरे कॉलबैक यूआरएल को एन्कोड करने पर यूआरएल एक वास्तविक कॉलबैक बन जाएगा।

संपादित करें:

हाँ यूआरएल पूरे notify_url मूल्य एन्कोडिंग समस्या हल हो गई और क्वेरी स्ट्रिंग संरक्षित।

संपादित करें 2:

यह यूआरएल पूरे मूल्य नहीं रह गया है एन्कोडिंग लगता है काम करता है, तो मैं पेपैल संभालने कर रहा हूँ इससे पहले कि हम इन समस्याओं का सामना करना पड़ा वापस मूल व्यवहार मिल गए हैं। उम्मीद है कि यह उनके सभी इनबाउंड सर्वरों पर सुसंगत रहेगा और अब तय रहेगा।

+0

लेकिन जब मैं urlencode (cancel_return) तो & यूआरएल में रहता है और उस पर क्लिक करने से त्रुटि हो जाएगी। मैंने सोचा कि पेपैल Cancel_return urlencode करेगा? – Tom

+0

मैंने 'cancel_return' का परीक्षण नहीं किया, हालांकि पूर्ण' notify_url' को एन्कोड करने से कोई समस्या नहीं आई क्योंकि पेपैल उस एंडपॉइंट को कॉल करने से पहले मूल्यों को डीकोड कर रहा है। – QFDev

संबंधित मुद्दे