Paypal IPN 发送 'pending',原因是 'multi-currency'?

Paypal IPN sending 'pending' with 'multi-currency' as reason?

我正在使用 Paypal IPN 从我的网站收款。该网站目前仅在开发中,因此我建立了一个沙盒网站进行测试,并且我已经使用在英国注册的测试账户以英镑货币(我的居住国货币)非常成功地进行付款。

但是,我希望该站点能够检测访问者的原籍国并允许他们以本国货币进行购买。所以我通过美国代理访问了该网站。该网站使用美元作为货币,我使用我设置为美国的帐户登录 Paypal 沙箱。

但是我的 return 来自 Paypal 的是:

[payment_status] => Pending
[pending_reason] => multi_currency
[mc_gross] => 4.99
[protection_eligibility] => Eligible
[address_status] => confirmed
[payer_id] => X7QACLK8F7L9Q
[address_street] => 1 Main St
[payment_date] => 13:54:37 Feb 18, 2015 PST
[payment_status] => Pending
[address_country_code] => US
[notify_version] => 3.8
[payer_status] => verified
[address_country] => United States
[num_cart_items] => 1
[address_city] => San Jose
[payment_type] => instant
[address_state] => CA
[pending_reason] => multi_currency
[txn_type] => cart
[mc_gross_1] => 4.99
[mc_currency] => USD
[residence_country] => US
[test_ipn] => 1
[payment_gross] => 4.99

购买未在网站上注册,因为 payment_status 不完整(完全正确)。有人知道这是什么原因吗?

请尝试按照以下说明为您的沙盒帐户关闭付款审核功能:

Go to PayPal Developer Website
Log in to your developer account
Click Applications
Click Sandbox accounts
Click on to the email address that you would like to turn off the Payment Review option and click Profile after it expand
Click Settings
And select Off for the Payment review.
Click Close

!!!确保您是在您的 PayPal SandBox 商家帐户上执行此操作!

是的,我终于弄清楚了问题所在并设法解决了这个问题,所以我想 post 回答我自己的问题,以便将来可以帮助人们。

首先登录到您的 Sandbox 开发者网站(您在其中设置所有虚假帐户等)。 https://developer.paypal.com/developer

我们需要登录到此站点,然后才能登录 Sandbox Paypal 企业帐户。

让您自己登录到上面的 Sandbox 开发人员网站并打开一个新选项卡并转到 Sandbox Paypal Business Login: Sandbox Business Login

现在您可能会在列表中看到您的 "pending" 笔交易。您可以选择 "Accept" 待处理交易,下一页将允许您更改您的付款接收偏好。

我勾选了单选框 "Yes, accept and convert them to British Pounds" 以回答如何处理来自不同货币的付款。

这对我来说是正确的。希望它能帮助其他人。

也感谢其他 post 人员在这方面的帮助。它帮助我弄清了真相。

登录您的主要 PayPal 帐户(不是沙盒),转到卖家偏好并点击更新阻止付款。

只需从您的贝宝沙盒设置中删除多币种。

登录到您正确的沙盒帐户。 (我发现我第一次为不同的沙盒帐户删除多货币)

从“设置”中转到 "My Money / wallet" 部分。

并且只保留您在申请中使用的一种货币。删除其他货币。

截至 2019 年,使用 PayPal 教程链接是一场噩梦,因为他们在没有正确重定向旧链接的情况下更改了网站的结构。

要接受因 multi_currency 而以不同货币支付并标记为 unclaimed/pending 的付款,您有 2 个选项:

  1. 转到https://www.paypal.com/listing/transactions手动接受交易

    然后您将看到 以 X 货币接受和创建余额的选项:

  2. 直接进入https://www.paypal.com/cgi-bin/webscr?cmd=_profile-pref, which should redirect you to https://www.paypal.com/businessmanage/preferences/payments,然后选择自动接受和转换未来的付款,如下: