未通过PHP中的paypal IPN验证或未经验证的响应 [英] Not getting verified or NOT verified response from paypal IPN in PHP
本文介绍了未通过PHP中的paypal IPN验证或未经验证的响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用以下代码获取响应来自 paypal有关付款:
$ header = POST / cgi-bin / webscr HTTP / 1.1 \\\\ n; // HTTP POST请求
$ header。= Content-Type:application / x-www-form-urlencoded\r\\\
;
$ header。= 主持人:www.sandbox.paypal.com \\\\ n< /跨度>;
$ header。= Content-Length:。 strlen($ req)。 \\\\ n;
$ header。= 连接:关闭\\\\\ n /跨度>;
$ fp = fsockopen(' ssl://www.sandbox.paypal.com' , 443 ,$ errno,$ errstr, 30 );
var_dump(fputs($ fp,$ header。$ req));
$ res = stream_get_contents($ fp, 1024 );
我在 $ res 中收到的的回复是:
HTTP / 1. 1 200 OK
日期:星期四, 29 Dec 2016 10 :< span class =code-digit> 40 : 20 GMT
服务器:Apach
X-Frame-选项:SAMEORIGIN
的Set-Cookie:c9MWDuvPtT9GIMyPc3jwol1VSlO = qjMaqOzpxaPLPcyXOYWKZ-NX5MRwtYFCSIrPVHYGfoTJaKNmNnuSbyrOiWKzKaWfLfeHiVTx-XDIcY1d2e6A3ZRai-nHOR80ofVToWBq0aejvYegkL0PLifF9nVYOxwPP-nvoxO0LgRbSmwyUCmm4NG7bTfashi4cLPmgKMkklGZNgINaNe9RtAsEDW2NJI59asn6R1yFLkcLEG9HKawDTBGwkNs-G3B03IlC-0w0GCiEvKTsPGo3xUDxWAa-crufhxSDnsJq0-8YXAaFbMIzyCOOcZKDT3tMo3-vn5mapjwRcdnN7BUCzJ3MbaDF0CNdKYO-b3cSU-0DGHiQo7tpUH_58JEvWLJVxHxfh4G2Oyz-bjcliyo9vzJ5JLdRV1pR-o2FdzfHjq8hriVraMaMbtS9-jzeaVdTuuyAKdYOi_XJXZH-6YDQ cgYn0a;域= .paypal.com;路径= /;安全; HttpOnly
Set-Cookie:cookie_check = yes; expires = Sun,27-Dec-2026 10 : 40 : 21 GMT;域= .paypal.com;路径= /;安全; HttpOnly
Set-Cookie:navcmd = _notify-validate;域= .paypal.com;路径= /;安全; HttpOnly
Set-Cookie:navlns = 0 。 0 ; expires =星期六,29-Dec-2018 10 : 40 : 21 GMT;域= .paypal.com;路径= /;安全; HttpOnly
Set-Cookie:Apache = 10 。 72 。 108 。 11 。 1483008020869641 ;路径= /; expires =星期六,22日 - 12月46日 10 : 40 :
As远 as 我明白我应该获取 已验证但我无法获取。任何人都可以指出 out 问题是?
我尝试了什么:
我根据中的答案更改了我的代码 stackoverflow关于同一个问题。最初当我使用代码时,我没有得到任何东西在响应中,它为NULL:
fputs($ fp,$ header。$ req);
while (!feof($ fp)){
$ res = fgets($ fp, 1024 跨度>);
}
解决方案
header = POST / cgi-bin / webscr HTTP / 1.1 \\\\ n; // HTTP POST请求
header。= Content-Type:application / x-www-form-urlencoded\r\ n;
header。= 主持人:www.sandbox.paypal.com\\\\ N跨度>;
I am using the following code to get response from paypal regarding payment:
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; // HTTP POST request
$header.= "Content-Type: application/x-www-form-urlencoded\r\n";
$header.= "Host: www.sandbox.paypal.com\r\n";
$header.= "Content-Length: " . strlen($req) . "\r\n";
$header.= "Connection: Close\r\n\r\n";
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
var_dump(fputs($fp, $header . $req));
$res = stream_get_contents($fp, 1024);
The response that I am receiving in $res is:
HTTP/1.1 200 OK
Date: Thu, 29 Dec 2016 10:40:20 GMT
Server: Apach
X-Frame-Options: SAMEORIGIN
Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=qjMaqOzpxaPLPcyXOYWKZ-NX5MRwtYFCSIrPVHYGfoTJaKNmNnuSbyrOiWKzKaWfLfeHiVTx-XDIcY1d2e6A3ZRai-nHOR80ofVToWBq0aejvYegkL0PLifF9nVYOxwPP-nvoxO0LgRbSmwyUCmm4NG7bTfashi4cLPmgKMkklGZNgINaNe9RtAsEDW2NJI59asn6R1yFLkcLEG9HKawDTBGwkNs-G3B03IlC-0w0GCiEvKTsPGo3xUDxWAa-crufhxSDnsJq0-8YXAaFbMIzyCOOcZKDT3tMo3-vn5mapjwRcdnN7BUCzJ3MbaDF0CNdKYO-b3cSU-0DGHiQo7tpUH_58JEvWLJVxHxfh4G2Oyz-bjcliyo9vzJ5JLdRV1pR-o2FdzfHjq8hriVraMaMbtS9-jzeaVdTuuyAKdYOi_XJXZH-6YDQcgYn0a; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: cookie_check=yes; expires=Sun, 27-Dec-2026 10:40:21 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navlns=0.0; expires=Sat, 29-Dec-2018 10:40:21 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: Apache=10.72.108.11.1483008020869641; path=/; expires=Sat, 22-Dec-46 10:40:
As far as I understand I should get "VERIFIED" but I am unable to get that. Can anyone point out what the problem is?
What I have tried:
I changed my code according to an answer in stackoverflow regarding the same question. Initially when I was using below code, I wasn't getting anything in response, it was NULL:
fputs($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
}
解决方案
header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; // HTTP POST request
header.= "Content-Type: application/x-www-form-urlencoded\r\n";
header.= "Host: www.sandbox.paypal.com\r\n";
这篇关于未通过PHP中的paypal IPN验证或未经验证的响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文