getBody()->getContents() 从 PayPal IPN 模拟-6ren">
gpt4 book ai didi

php - Paypal IPN 模拟器返回 "INVALID"但我已遵守规则

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:56 28 4
gpt4 key购买 nike

所以我有一个 PHP 服务,它唯一的工作就是接受 PayPal IPN 连接。我正在使用 PSR7 $request->getBody()->getContents() 从 PayPal IPN 模拟器请求中获取以下内容。

payment_type=echeck&payment_date=Tue%20Jun%2007%202016%2012%3A56%3A47%20GMT+0100%20%28BST%29&payment_status=Completed&address_status=confirmed&payer_status=verified&first_name=John&last_name=Smith&payer_email=buyer@paypalsandbox.com&payer_id=TESTBUYERID01&address_name=John%20Smith&address_country=United%20States&address_country_code=US&address_zip=95131&address_state=CA&address_city=San%20Jose&address_street=123%20any%20street&business=seller@paypalsandbox.com&receiver_email=seller@paypalsandbox.com&receiver_id=seller@paypalsandbox.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=12.34&txn_type=web_accept&txn_id=787223012&notify_version=2.1&custom=xyz123&invoice=abc1234&test_ipn=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AfBnnvbsi0E9urbgYYn51fFWPj23

因此,当我使用 Guzzle 6 POSTing 回发到 https://www.sandbox.paypal.com/cgi-bin/webscr 时,使用以下 正文

cmd=_notify-validate&payment_type=echeck&payment_date=Tue%20Jun%2007%202016%2012%3A56%3A47%20GMT+0100%20%28BST%29&payment_status=Completed&address_status=confirmed&payer_status=verified&first_name=John&last_name=Smith&payer_email=buyer@paypalsandbox.com&payer_id=TESTBUYERID01&address_name=John%20Smith&address_country=United%20States&address_country_code=US&address_zip=95131&address_state=CA&address_city=San%20Jose&address_street=123%20any%20street&business=seller@paypalsandbox.com&receiver_email=seller@paypalsandbox.com&receiver_id=seller@paypalsandbox.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=12.34&txn_type=web_accept&txn_id=787223012&notify_version=2.1&custom=xyz123&invoice=abc1234&test_ipn=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AfBnnvbsi0E9urbgYYn51fFWPj23

我收到 INVALID 的响应。我不知道它是否来自处理 SSL 终止的服务器的不同 IP 地址是问题所在,还是我要发疯了。

我已经在 PayPal 的模拟器请求主体上运行了一个 diff 到我在没有 cmd 变量的情况下发回的主体,并且没有区别。

最佳答案

新的 IPN 模拟器界面似乎在 payment_date 字段中使用了 javascript 日期。如果您手动将其设置为类似今天 的值,它就可以正常工作。我不确定这是 IPN 模拟器端还是您的 IPN 监听器中的编码/解码问题。

关于php - Paypal IPN 模拟器返回 "INVALID"但我已遵守规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37679022/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com