我正在使用 Paypal IPN 从我的网站收款。该网站目前仅在开发中,因此我设置了一个沙盒网站进行测试,并且我已经使用在英国注册的测试账户非常成功地以英镑货币(我的居住国货币)进行付款。
但是,我希望网站能够检测访问者的原籍国并允许他们以本国货币进行购买。所以我通过美国代理访问了该网站。该网站使用美元作为货币,我使用我设置为美国的帐户登录 Paypal 沙箱。
但是我从 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 不完整(完全正确)。有人知道这是什么原因吗?
最佳答案
是的,我终于弄清楚了问题所在并设法解决了这个问题,所以我想我会发布我自己的问题的答案,以便将来可以帮助人们。
首先登录到您的 Sandbox 开发者网站(您可以在其中设置所有虚假帐户等)。 https://developer.paypal.com/developer
我们需要登录到此站点,然后才能登录 Sandbox Paypal 企业帐户。
让您自己登录到上面的 Sandbox 开发者网站并打开一个新选项卡并转到 Sandbox Paypal Business Login: Sandbox Business Login
现在您可能会在列表中看到“待定”交易。您可以选择“接受”待定交易,下一页将允许您更改您的付款接收偏好。
我勾选了单选框“是的,接受并将它们转换为英镑”以回答如何处理来自不同货币的付款。
这对我来说是正确的。希望它能帮助其他人。
也感谢其他发帖者在这方面的帮助。它帮助我弄清了真相。
关于php - Paypal IPN 发送 'pending',原因是 'multi-currency'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594854/