PayPal已收费,但付款响应为" INVALID"

时间:2015-05-06 14:49:31

标签: paypal response paypal-ipn payment invalidation

我们客户的几家网上商店通过PayPal提供结账服务。 实际上我们遇到了问题,当我们强制结账时,我们会得到答案,说明出了问题。但是,如果我们检查PayPal帐户,那么我们就会看到收费仍然存在。 现在我们正在寻找原因并找出以下内容: - 如果我们使用PayPal沙盒帐户,一切正常 - 付款状态为"已完成" (在这两种情况下) - www.sandbox.paypal.com返回"已验证" - www.paypal.com返回" INVALID"

在这种情况下,任何人都可以帮助我们吗?

我会附上两个文件,其中包含来自您服务器的回复。

网上商店 - 请求 - 参数:

CMD = _notify-验证&安培; mc_gross = 0.01&安培;发票= zz_zzzzzzzz&安培; protection_eligibility =不合格的&安培; item_number1 = zzzzzzzz&安培; payer_id = CCCCCCCCCCCCC&安培;税务= 0.00&安培; PAYMENT_DATE = 05%3A10%3A46 +月+ 29%2C + 2015 + PDT&安培; PAYMENT_STATUS =完成&安培;字符集= UTF-8和; mc_shipping = 0.00&安培; mc_handling = 0.00&安培;如first_name = JOHN&安培; mc_fee = 0.01&安培; notify_version = 3.8&安培;定制= 2及payer_status =验证&安培;商业=约翰%40doe .COM&安培; num_cart_items = 1&安培; mc_handling1 = 0.00&安培; PAYER_EMAIL =约翰%40aol.com&安培; verify_sign = GiPC9Bj ...&安培; mc_shipping1 = 0.00&安培; tax1 = 0.00&安培; txn_id = CCCCCCCCCCCCCCCCC&安培; payment_type =即时&安培;姓氏= Doe的安培; item_name1 = 00000000&安培; RECEIVER_EMAIL =约翰%40doe.com&安培; payment_fee = 0.01&安培;数量1 = 1&安培; receiver_id = CCCCCCCCCCCCC&安培; txn_type =购物&安培; mc_gross_1 = 0.01&安培; mc_currency = USD&安培; residence_country = US&安培; transaction_subject = 2及payment_gross = 0.01&安培; AUTH = AHMdYo7nB ...

... =哈希算法

响应是标准的PayPal-Header加上" INVALID"

来自PayPal支持团队的一些支持 - 回复:

1.您需要将您的PayerID作为用户代理包含在HTTP标头中 2.使用回复的URL https://ipnpb.paypal.com/cgi-bin/webscr绕过AKAMAI。

两种解决方案都不成功

下一个PayPal支持解决方案

•检查您是否将回复发布到正确的网址,即https://www.sandbox.paypal.com/cgi-bin/webscr(适用于沙盒IPN)或https://www.paypal.com/cgi-bin/webscr(适用于实时IPN)。如果您在Sandbox中进行测试并且您的听众回复到实际站点(反之亦然),您将收到INVALID。

•确认您对测试IPN消息的响应包含与测试消息完全相同的变量和值,并且它们的顺序与测试消息中的顺序相同。最后,验证原始变量前面是cmd = _notify-validate变量。

•确认您对IPN的响应:◦包含与原始IPN完全相同的变量和值。 ◦以与原始IPN相同的顺序放置这些变量和值。 ◦使用cmd = _notify-validate变量来预测这些变量。

•确保对响应字符串使用与原始IPN邮件的charset字段中指定的编码相同的字符编码。使用IPN Simulator进行测试时,字符编码将始终为UTF-8。

......也不成功

3 个答案:

答案 0 :(得分:1)

问题更新:问题是,paypal实际收费,所以请求是有效的。但是结帐过程显示为无效,因此响应无效。 Paypal支持表示,他们不知道我们发送给他们的请求(来自我们网站的其他人)的不同之处,并且请求已正确完成。所以我们有其他网站使用相同的技术和请求,没有人知道出了什么问题。

答案 1 :(得分:1)

问题是由帐户设置上设置的错误字符集计算出来的。 在"我的帐户"设置(在"更多编码选项"下)必须为应用程序发送的内容设置Econding。 (在我们的案例中,它必须从paypal帐户安装默认更改为UTF-8)

答案 2 :(得分:0)

在顾客购物后,我今天收到了PayPal邮寄回复的一些问题。他们中的一些人从未来过,有些人在实际付款后迟到了。目前它已经解决但我认为我们正在调试PayPal服务器上的问题。我想最好的解决方案是等待其他具有类似问题的建筑师和PayPal响应。