IPN验证ipnSimulator INVALID

时间:2016-03-22 14:12:34

标签: php validation paypal paypal-ipn

我在沙盒中设置了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:8023af87be9​​66   设置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回复:

3 个答案:

答案 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。考虑以下因素:

  1. 请务必将您的IPN听众置于 - >我的销售工具 - >即时付款通知科。
  2. 不要在沙盒中使用IPN Simulator,它将始终返回INVALID。
  3. 创建并使用实际的沙盒按钮,但不要将您的IPN侦听器放到RETURN PAGE上,该页面上写着“当客户完成结帐时将其带到此URL”。
  4. 这就是全部。我希望这会有所帮助。

    这是工作代码:

    $ ./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