PayPal IPN显示verify_sign = undefined

时间:2018-06-11 04:26:43

标签: php paypal-ipn

我正在测试PayPal IPN模拟器。 它始终显示INVALIDverify_sign=undefined

我有ssl with 2048 key所需的所有先决条件,我已将IPN Listener urlReturn url正确放入我的PayPal帐户。

我正在测试这种方式。

http_response_code(200);
$ch = curl_init();
$req="cmd=_notify-validate&".http_build_query($_POST);
$req=utf8_encode($req);
curl_setopt($ch, CURLOPT_URL, 'https://ipnpb.sandbox.paypal.com/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
$response = curl_exec($ch);
curl_close($ch);
$ch_error=curl_error($ch);

$log=$req.'<br><br>';
$log.=$response.'<br><br>';
$log.=$ch_error;
file_put_contents("ipn.txt", $log);

我的响应如下,date字段设置为NULL,所有字段的顺序与IPN模拟器完全相同,但字段test_ipn=1 and verify_sign=undefined未显示在IPN模拟器中。

cmd=_notify-validate
payment_type=instant
payment_date=NULL
payment_status=Completed
address_status=confirmed
payer_status=verified
first_name=John
last_name=Smith
payer_email=buyer%40paypalsandbox.com
payer_id=TESTBUYERID01
address_name=John+Smith
address_country=United+States
address_country_code=US
address_zip=95131
address_state=CA
address_city=San+Jose
address_street=123+any+street
business=seller%40paypalsandbox.com
receiver_email=seller%40paypalsandbox.com
receiver_id=seller%40paypalsandbox.com
residence_country=US
item_name=something
item_number=AK-1234
quantity=1
shipping=3.04
tax=2.02
mc_currency=USD
mc_fee=0.44
mc_gross=12.34
mc_gross_1=9.34
txn_type=web_accept
txn_id=203725327¬ify_version=2.1
custom=xyz123
invoice=abc1234
test_ipn=1
verify_sign=undefined

Paypal返回

INVALID

我已联系过PayPal支持但尚未得到答案。

请查看问题是否来自我的目的,并提出解决方法。 感谢

0 个答案:

没有答案