paypal - 是什么导致我的 PayPal IPN 脚本失败?

标签 paypal payment-gateway paypal-ipn

我从 PayPal IPN 脚本收到以下信息。从以下是否可以看出导致 IPN 交易失败的原因?如果不是,我该如何进一步调查问题?

[01/25/2010 7:49 PM] - FAIL: IPN Validation Failed.
IPN $_POST variables from PayPal:
mc_gross=25.00
protection_eligibility=Ineligible
address_status=unconfirmed
payer_id=AEVB83JZKDRCL
tax=0.00
address_street=1 Main Terrace
payment_date=10:49:52 Jan 25, 2010 PST
payment_status=Pending
charset=windows-1252
address_zip=W12 4LQ
first_name=Test
address_country_code=GB
address_name=Test User
notify_version=2.9
custom=
payer_status=unverified
address_country=United Kingdom
address_city=Wolverhampton
quantity=1
verify_sign=A0I1KzEZadt6mIDXxQkkIQCQKPTMAGvCuZ8RKXsOCujIi.RoMxAnbZXi
payer_email=test1_1263505944_per@example.com
txn_id=38A45069EV5838100
payment_type=instant
last_name=User
address_state=West Midlands
receiver_email=martin@example.com
pending_reason=unilateral
txn_type=web_accept
item_name=Ultimate Challenge UK Ressurection  Standard Seating (25.00 GBP)
mc_currency=GBP
item_number=
residence_country=GB
test_ipn=1
handling_amount=0.00
transaction_subject=Ultimate Challenge UK Ressurection  Standard Seating (25.00 GBP)
payment_gross=
shipping=0.00


IPN response from PayPal server:
 HTTP/1.1 200 OK
Date: Mon, 25 Jan 2010 18:49:56 GMT
Server: Apache
Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=_hMqg4cipUMV6RnPhXQ-05S5HEZk2hx2Yc87bjkBg5dZZLYqHTsxqiYwvU9Hjas5YeKTg9jnkbQYomER3_bjuAIW9f15003nc2FYPzIYqFuCc-Jfz1B8byXHhtrJ6OHyiPlmo0%7cGRbawzJR-iAiebJ1pZJZ3DzypAO4untXvofHa07UaqPHkeOZNQTSoCfMobgODGnxgP6jHW%7cf29zaCIP63s4TuzaT12cEiU-aih_kOHju4cqZ4KPV18bl-LTNlFzFLLGmr_DOhyXznq--m%7c1264445397; domain=.paypal.com; path=/
Set-Cookie: cookie_check=yes; expires=Thu, 23-Jan-2020 18:49:57 GMT; domain=.paypal.com; path=/
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/
Set-Cookie: navlns=0; expires=Sun, 20-Jan-2030 18:49:57 GMT; domain=.paypal.com; path=/
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=92
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

7
INVALID
0

最佳答案

使用 Micah Carrick 的 PHP Paypal IPN 集成类并遇到相同问题的任何人: IPN 变量和值必须以 cmd=_notify-validate 开头。在 paypal.class.php 文件中恰恰相反。

因此,只需将第 179 行的 $post_string = ''; 替换为
$post_string="cmd=_notify-validate";
替换
$post_string .= $field.'='.urlencode(stripslashes($value)).'&';

$post_string .= '&' 的第 181 行。 $field.'='.urlencode(stripslashes($value));

然后删除第 184 行的 $post_string.="cmd=_notify-validate";,你的问题应该就解决了。

关于paypal - 是什么导致我的 PayPal IPN 脚本失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134733/

相关文章:

paypal - 对于 PayPal Express Checkout, token 的有效期是多长时间?

ruby-on-rails - 如何使用 ActiveMerchant 进行 Paypal 网站支付标准?

ios - 如何阻止 objc 代码转换为可选代码

ios - 使用 PayPal 向最终用户付款

php - 为什么我从 PayPal 的 IPN 获得 2 次不同数据的匹配?

paypal - 如何通过 Paypal API 取消定期付款并使用 IPN 在我的网站上获得即时通知

paypal - 将 Paypal PDT 与其他 paypal 按钮一起使用,不想覆盖那些按钮上的成功 url?

paypal - 测试 Paypal Express 集成/沙盒凭证/我不是程序员

php - Paypal IPN 现在返回无效 - 以前工作正常的 PHP 代码

.net - 使用 REST API 的 Paypal 快速结账