我在沙盒中设置了paypal IPN。 我用这个sctipt 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验证请求 请求:POST / cgi-bin / webscr HTTP / 1.1主机:www.sandbox.paypal.com 接受: / 连接:关闭内容长度:970内容类型: 应用程序/ x-WWW窗体-urlencoded
用于IPN有效负载: CMD = _notify-验证&安培; payment_type =即时&安培; PAYMENT_DATE =星期二+月+ 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 =完成&安培; address_status =确认&安培; payer_status =验证&安培;如first_name =约翰&安培;姓氏=史密斯&安培; PAYER_EMAIL =买方%40paypalsandbox.com&安培; payer_id = TESTBUYERID01和放大器; ADDRESS_NAME =约翰+史密斯和放大器; ADDRESS_COUNTRY =美+美国和放大器; address_country_code = US&放大器; address_zip = 95131&放大器; ADDRESS_STATE = CA&放大器; ADDRESS_CITY =圣+何塞&放大器; address_street = 123 +任何+街道和放大器;商业=卖家%40paypalsandbox.com和放大器; RECEIVER_EMAIL =卖家%40paypalsandbox.com和放大器; receiver_id =卖家%40paypalsandbox.com和放大器; residence_country = US&放大器; item_name1 =东西和放大器; item_number1 = AK-1234功放;税务= 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 =购物&安培; txn_id = 901876583&安培; notify_version = 2.1&安培;定制= XYZ123&安培;发票= ABC1234&安培;的test_ipn = 1&安培; verify_sign = A2AotZPiNfH-.cRF2fDADaP45z4xAMRyJ2i2LYn0-bIrKScsGQzjL1bU [2016-03-22 16:53 Europe / Moscow]验证请求的HTTP响应: HTTP / 1.1 200 OK日期:2016年3月22日星期二13:53:57 GMT服务器:Apache X-Frame-Options:SAMEORIGIN Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO = 8YEulQPoVmljEzDjxqb2Eja5QkTvSSIHAnS6YQAcTx1q_LuQEbsn-_3B66X5sfKSbDLoRnK3Ry41yaTByrW98ADgx2oXvvGL_3Ip0w4UjbUAoWMw4czFk1LULFI1VqQqjvwTuLSm21iNcQvYl8U4h0oOhwZ8CJVVpogcyR3HjUweHmCjUhDzqGKS6jFMsbkUu9wyC85KmvldFXiXjFvokwlUTUmnH3e4Vt26dgA0jnaRK_vKMNX-aYV9uicgZf2DBUvz0f3kP329HR1IWGErDb8Wgtpf6jQMho8B0noW_vYfA6IPQpBAG927oZVlU3iSxa6zj53u-NGEr11Z1qE2wLmqO9vWbgOsbGcJG2F3au0FGuLQdy-7mdQpFEriGbBF9FknFI_5YTzKo4uFQudUT9Sr4i-LSapRj_4758BPSTEiJ2oHpY-6m1lWuOi; 域= .paypal.com;路径= /;安全; HttpOnly Set-Cookie: cookie_check =是;到期=周五,20-Mar-2026 13:53:58 GMT; 域= .paypal.com;路径= /;安全; HttpOnly Set-Cookie: navcmd = _notify-验证;域= .paypal.com;路径= /;安全;仅Http Set-Cookie:navlns = 0.0; expires =星期四,22-Mar-2018 13:53:58 GMT; 域= .paypal.com;路径= /;安全; HttpOnly Set-Cookie: 阿帕奇= 10.72.108.11.1458654837796174;路径= /;到期=星期四,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 设置Cookie: X-PP-SILOVER =名称%3DSANDBOX3.WEB.1%26silo_version%3D1880%26app%3Dappdispatcher%26TIME%3D1968107862; 域= .paypal.com;路径= /;安全; HttpOnly Set-Cookie: X-PP-SILOVER =; Expires = Thu,1970年1月1日00:00:01 GMT 严格传输 - 安全性:max-age = 14400传输编码:分块 内容类型:text / html;字符集= UTF-8
无效[2016-03-22 16:53欧洲/莫斯科] IPN无效: CMD = _notify-验证&安培; payment_type =即时&安培; PAYMENT_DATE =星期二+月+ 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 =完成&安培; address_status =确认&安培; payer_status =验证&安培;如first_name =约翰&安培;姓氏=史密斯&安培; PAYER_EMAIL =买方%40paypalsandbox.com&安培; payer_id = TESTBUYERID01和放大器; ADDRESS_NAME =约翰+史密斯和放大器; ADDRESS_COUNTRY =美+美国和放大器; address_country_code = US&放大器; address_zip = 95131&放大器; ADDRESS_STATE = CA&放大器; ADDRESS_CITY =圣+何塞&放大器; address_street = 123 +任何+街道和放大器;商业=卖家%40paypalsandbox.com和放大器; RECEIVER_EMAIL =卖家%40paypalsandbox.com和放大器; receiver_id =卖家%40paypalsandbox.com和放大器; residence_country = US&放大器; item_name1 =东西和放大器; item_number1 = AK-1234功放;税务= 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 =购物&安培; txn_id = 901876583&安培; notify_version = 2.1&安培;定制= XYZ123&安培;发票= ABC1234&安培;的test_ipn = 1&安培; verify_sign = A2AotZPiNfH-.cRF2fDADaP45z4xAMRyJ2i2LYn0-bIrKScsGQzjL1bU Paypal回复:
答案 0 :(得分:1)
尝试使用sandbox.paypal中的两个虚假帐户(1个人,1个商家),以检查验证/无效响应,而不是IPN模拟器。
你可以在https://developer.paypal.com/developer/accounts/获得那些并给他们假装的信用。
我从未通过IPN模拟器获得验证,但在通过沙箱进行测试时总是得到一个。
答案 1 :(得分:0)
在您的IPN PHP脚本中,尝试将所有urlencode
更改为rawurlencode
,将urldecode
更改为rawurldecode
。
答案 2 :(得分:0)
我终于找到了此查询的更新(2016年8月5日)工作答案。您可以将此代码用作Sandbox或Live的最终IPN。考虑以下因素:
这就是全部。我希望这会有所帮助。
这是工作代码:
$ ./bin/getline_realloc_arr < dat/words_554.txt
arr[ 0] : Aam
arr[ 1] : Aard-vark
arr[ 2] : Aard-wolf
arr[ 3] : Aaronic
...
arr[ 549] : Accompaniment
arr[ 550] : Accompanist
arr[ 551] : Accompany
arr[ 552] : Accompletive
arr[ 553] : Accomplice