2013-06-05 10 views
5

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

जब भुगतान सफलतापूर्वक किया जाता है तो मुझे आईपीएन प्रतिक्रिया सही तरीके से प्राप्त होती है।

प्राप्त करने के बाद मैं इसे सत्यापन के लिए वापस भेज रहा हूं।

$ch = curl_init(); 

$paypalUrl = PAYPAL_URL; 
curl_setopt($ch, CURLOPT_URL, $paypalUrl); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_field); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
$res = curl_exec($ch); 

अब मुझे एक ही आईपीएन प्रतिक्रिया कई बार प्राप्त हो रही है (बिल्कुल 9 गुना)। मैं निम्नलिखित प्रारूप में विविधता के लिए आईपीएन प्रतिक्रिया भेज रहा हूं:

cmd=_notify-validate&orderUUID=eac962fe-3a0a-4b26-be89-e5ccf54ee2cb& 
    mc_gross=15.00&settle_amount=11.58& 
    protection_eligibility=Ineligible&payer_id=LR3LZ8R978ZK8&tax=0.00 
    &payment_date=06%3A55%3A17+Jun+05%2C+2013+PDT&payment_status=Completed 
    &charset=windows1252&first_name=abc&option_selection1=&option_selection2=& 
mc_fee=0.74&exchange_rate=0.812061&notify_version=3.7 
    &settle_currency=USD&custom=&payer_status=verified&business=business%40mydomain.com 
    &quantity=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AlU7JAwS8--HoB6lJfimizlVxnVa&payer_email=personal%40mydomain.com&option_name1=tour&option_name2=abc+abc&txn_id=6RU07240YB682730C&payment_type=instant&last_name=abc&receiver_email=business%40mydomain.com&payment_fee=&receiver_id=LW9JSM57BYH5Q&txn_type=web_accept&item_name=ite m+name&mc_currency=AUD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00 &transaction_subject=item+reserva!tion+for+1+spaces+on+Jun+06&payment_gross=&shipping=0.00&ipn_track_id=b85bc954da9e5 

एक ही प्रतिक्रिया प्राप्त करने का कारण क्या है?

जैसा कि मैं इसका अनुसरण कर रहा था, हमें आईपीएन प्रतिक्रिया के लिए पेपैल को 200 ओके भेजने की जरूरत है, अगर पेपैल 200 प्राप्त नहीं करता है तो यह दोबारा दोबारा मिल जाएगा ... क्या यह वही है?

उत्तर

3

यहाँ पर डालने मैं एक बात का अनुभव करने के बजाय जोड़कर हूँ अनुरोध के अंत में "& cmd = _notify सत्यापित करें"। मान लीजिए मेरा मूल होस्टनाम abc.com है और मैंने उस पर एक परीक्षण उदाहरण बनाया है। अब मेरा नया होस्टनाम test.abc.com होगा। जब मैं ऊपर अपने परीक्षण उदाहरण से लेनदेन कर रहा था, समस्या हो रही है (आईपीएन प्रतिक्रिया कई बार प्राप्त करना)। मैंने सही ढंग से प्रतिक्रिया संभाली (यानी यह डुप्लिकेट प्रतिक्रिया या नया responce है)। अब मेरा आवेदन उत्पादन पर्यावरण पर स्थानांतरित हो गया है और मेरा होस्टनाम abc.com है और सब कुछ ठीक काम कर रहा है !! (केवल एक बार आईपीएन प्रतिक्रिया प्राप्त करना)। मुझे लगता है कि पेपैल मेरे परीक्षण इंस्टेंस से सफलता की स्थिति प्राप्त करने में सक्षम नहीं था क्योंकि यह एक ही प्रतिक्रिया को कई बार भेजने की कोशिश कर रहा था।

2

यदि आप अपने पेपैल खाते में अपना आईपीएन इतिहास देखते हैं, तो क्या यह 200 का स्टेटस कोड वापस भेजा जा रहा है? आम तौर पर आईपीएन के कई बार देखने के लिए यह आम कारण है।

+1

आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने व्यवसाय खाते पर अपना आईपीएन इतिहास चेक किया है। इतिहास में यह दिखा रहा है: डिलिवरी स्थिति = ** असफल ** और ** नहीं। retries ** = ** 8 ** और खाली HTTP प्रतिक्रिया कोड दिखा रहा है। मुझे कैसे पता चलेगा कि विफलता का कारण क्या है? –

+0

मैंने हेडर भी भेजा है ("स्थिति: 200 ओके"); मुझे आईपीएन प्रतिक्रिया मिलने के बाद प्रतिक्रिया। –

+0

कृपया मेरी मदद करें, मुझे अभी तक समाधान नहीं मिला है –

0

बस मेरे काम कर IPN हैंडलर की जाँच की और मैं शुरू

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