php - IPN 验证 ipnSimulator 无效

标签 php validation paypal paypal-ipn

我在沙盒中设置了 paypal IPN。 我用这个脚本 https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php

但我总是收到无效响应。

我使用了这个技巧 https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNTesting/#invalid

但仍然是无效响应 我做错了什么?

[2016-03-22 16:53 Europe/Moscow] HTTP request of validation request:POST /cgi-bin/webscr HTTP/1.1 Host: www.sandbox.paypal.com Accept: / Connection: Close Content-Length: 970 Content-Type: application/x-www-form-urlencoded

for IPN payload: cmd=_notify-validate&payment_type=instant&payment_date=Tue+Mar+22+2016+16%3A47%3A09+GMT%2B0300+%28RTZ+2+%28%C3%90%C2%B7%C3%90%C2%B8%C3%90%C2%BC%C3%90%C2%B0%29%29&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_name1=something&item_number1=AK-1234&tax=2.02&mc_currency=USD&mc_fee=0.44&mc_gross=12.34&mc_gross_1=12.34&mc_handling=2.06&mc_handling1=1.67&mc_shipping=3.02&mc_shipping1=1.02&txn_type=cart&txn_id=901876583&notify_version=2.1&custom=xyz123&invoice=abc1234&test_ipn=1&verify_sign=A2AotZPiNfH-.cRF2fDADaP45z4xAMRyJ2i2LYn0-bIrKScsGQzjL1bU [2016-03-22 16:53 Europe/Moscow] HTTP response of validation request: HTTP/1.1 200 OK Date: Tue, 22 Mar 2016 13:53:57 GMT Server: Apache X-Frame-Options: SAMEORIGIN Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=8YEulQPoVmljEzDjxqb2Eja5QkTvSSIHAnS6YQAcTx1q_LuQEbsn-_3B66X5sfKSbDLoRnK3Ry41yaTByrW98ADgx2oXvvGL_3Ip0w4UjbUAoWMw4czFk1LULFI1VqQqjvwTuLSm21iNcQvYl8U4h0oOhwZ8CJVVpogcyR3HjUweHmCjUhDzqGKS6jFMsbkUu9wyC85KmvldFXiXjFvokwlUTUmnH3e4Vt26dgA0jnaRK_vKMNX-aYV9uicgZf2DBUvz0f3kP329HR1IWGErDb8Wgtpf6jQMho8B0noW_vYfA6IPQpBAG927oZVlU3iSxa6zj53u-NGEr11Z1qE2wLmqO9vWbgOsbGcJG2F3au0FGuLQdy-7mdQpFEriGbBF9FknFI_5YTzKo4uFQudUT9Sr4i-LSapRj_4758BPSTEiJ2oHpY-6m1lWuOi; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: cookie_check=yes; expires=Fri, 20-Mar-2026 13:53:58 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navlns=0.0; expires=Thu, 22-Mar-2018 13:53:58 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: Apache=10.72.108.11.1458654837796174; path=/; expires=Thu, 15-Mar-46 13:53:57 GMT Vary: Accept-Encoding,User-Agent Connection: close HTTP_X_PP_AZ_LOCATOR: sandbox.slc Paypal-Debug-Id: 8023af87be966 Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.WEB.1%26silo_version%3D1880%26app%3Dappdispatcher%26TIME%3D1968107862; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT Strict-Transport-Security: max-age=14400 Transfer-Encoding: chunked Content-Type: text/html; charset=UTF-8

INVALID [2016-03-22 16:53 Europe/Moscow] Invalid IPN: cmd=_notify-validate&payment_type=instant&payment_date=Tue+Mar+22+2016+16%3A47%3A09+GMT%2B0300+%28RTZ+2+%28%C3%90%C2%B7%C3%90%C2%B8%C3%90%C2%BC%C3%90%C2%B0%29%29&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_name1=something&item_number1=AK-1234&tax=2.02&mc_currency=USD&mc_fee=0.44&mc_gross=12.34&mc_gross_1=12.34&mc_handling=2.06&mc_handling1=1.67&mc_shipping=3.02&mc_shipping1=1.02&txn_type=cart&txn_id=901876583&notify_version=2.1&custom=xyz123&invoice=abc1234&test_ipn=1&verify_sign=A2AotZPiNfH-.cRF2fDADaP45z4xAMRyJ2i2LYn0-bIrKScsGQzjL1bU Paypal response:

最佳答案

尝试使用 sandbox.paypal 中的两个假帐户(1 个个人帐户,1 个公司帐户)来检查已验证/无效的响应,而不是使用 IPN 模拟器。

您可以在 https://developer.paypal.com/developer/accounts/ 获得这些并给他们假学分来玩。

我从来没有从 IPN 模拟器得到一个 VERIFIED,但在通过沙箱测试时总是得到一个。

关于php - IPN 验证 ipnSimulator 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36156766/

相关文章:

php - 填充字符串中的空格

php - mysql:存储任意数据

php - 修复 HTML Validator 抛出的警告

jquery - 停止取消按钮的 Jquery 验证

Paypal 订阅试用额外收费?

paypal-nvp - 在 ASP.Net 应用程序中,与 Net SDK for PayPal 相比,NVP 是更好的开发选项吗?

php - 如何将计数器值从 javascript 发送到数据库

javascript - 以编程方式将 Woocommerce 商店页面作为主页

android - Ilhasoft + Kotlin 的数据绑定(bind)验证器错误

php - PayPal 生产的工作方式与沙箱不同