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

标签 paypal response paypal-ipn payment invalidation

我们客户的一些网上商店提供通过 PayPal 结帐的功能。 实际上我们遇到了问题,当我们强制结账时,我们得到的答案是出了问题。但是,如果我们检查 PayPal 账户,就会发现收费仍在进行。 现在我们正在寻找原因并找出以下内容: - 如果我们使用 PayPal 沙盒帐户,一切正常 - 付款状态为“已完成”(两种情况下) - www.sandbox.paypal.com 返回“已验证” - www.paypal.com 返回“无效”

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

我将附上两个文件,其中包含来自您的服务器的响应。

网上商店请求参数:

cmd=_notify-validate&mc_gross=0.01&invoice=zz_zzzzzzzz&protection_eligibility=不合格&item_number1=zzzzzzzz&payer_id=CCCCCCCCCCCC&tax=0.00&payment_date=05%3A10%3A46+Apr+29%2C+2015+PDT&payment_status=已完成&charset=UTF-8&mc_shipping=0.00&mc_handling=0.00&first_name =JOHN&mc_fee=0.01¬ify_version=3.8&custom=2&payer_status=verified&business=john%40doe.com&num_cart_items=1&mc_handling1=0.00&payer_email=john%40aol.com&verify_sign=GiPC9Bj...&mc_shipping1=0.00&tax1=0.00& txn_id=CCCCCCCCCCCCCCCC&payment_type=instant&last_name=Doe&item_name1=00000000&receiver_email= john%40doe.com&payment_fee=0.01&quantity1=1&receiver_id=CCCCCCCCCCCCC&txn_type=cart&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.您需要在 HTTP header 中包含您的 PayerID 作为 User-Agent 2.使用网址https://ipnpb.paypal.com/cgi-bin/webscr回发绕过 AKAMAI。

两种方案都不成功

下一个 PayPal 支持解决方案

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

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

•验证您对 IPN 的回答: ◦包含与原始 IPN 完全相同的变量和值。 ◦按照与原始 IPN 相同的顺序放置这些变量和值。 ◦在这些变量之前加上一个 cmd=_notify-validate 变量。

•确保您对响应字符串使用与原始IPN 消息的字符集字段中指定的编码相同的字符编码。使用 IPN 模拟器进行测试时,字符编码始终为 UTF-8。

...也没有成功

最佳答案

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

关于PayPal 已收费,但付款响应为 "INVALID",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080209/

相关文章:

php - Paypal REST API - 访问 token 是否可重用?

javascript - 如何使用 RSpec 测试 javascript 重定向?

Angular 5 HTTP响应未定义

php - Paypal IPN 验证拒绝访问

c# - IPN模拟器错误

PayPal:能否通过IPN/PDT获取客户(买家)的IP地址?

php - 将变量值传给paypal的购物车进行支付

linux - Paypal TLS 测试失败

c# - 通过 REST API C# 打印装箱单 "No Address Provided"

android - 如何拦截android中的webview响应