PayPal印度商家账户支付报错:不接受您的货币,求解决方案
问题描述
我拥有一个主货币为USD的PayPal印度商家账户,已在「Payment Preferences >> Block Payments」中勾选「Yes, accept and convert them to U.S. Dollars.」。使用下方PayPal按钮代码发起支付时,出现报错:
We’re sorry. This seller doesn’t accept payments in your currency. Please return to the seller and choose another way to pay.
按钮代码:
<html> <head> <script src="https://www.paypal.com/sdk/js?client-id=ABC"></script> </head> <body> <div id="paypal-button-container"></div> <script> paypal.Buttons({ createOrder: function(data, actions) { return actions.order.create({ purchase_units: [{ amount: { value: '1.00', currency_code: 'USD' } }] }); }, onApprove: function(data, actions) { return actions.order.capture().then(function(details) { // Handle the successful payment here alert('Payment completed successfully!'); }); }, onError: function(err) { // Handle errors during the payment process console.log(err); alert('An error occurred during the payment. Please try again.'); }, onCancel: function(data) { // Handle cancellation of the payment console.log(data); alert('The payment was canceled.'); } }).render('#paypal-button-container'); </script> </body> </html>
排查与解决方法
- 检查印度PayPal账户的合规限制:印度地区PayPal商家账户有特殊合规要求,即便主货币设为USD,也可能因未完成KYC验证、收款地区限制等导致无法接收支付。登录后台查看「Account Status」,确认是否有未完成的验证任务或明确的收款限制提示。
- 为JS SDK添加地区参数:PayPal JS SDK需要匹配商家账户所在地区,印度账户需在SDK链接中指定
country=IN参数,修正后的链接:
未指定地区时,SDK会默认适配买家地区,容易引发货币校验不匹配问题。<script src="https://www.paypal.com/sdk/js?client-id=ABC&country=IN"></script> - 完善支付偏好设置:除了「Block Payments」的转换选项,需确认「Payment Receiving Preferences」中已开启「Allow payments sent to me in a currency I don't hold」,并选择自动转换为主货币。同时检查「Profile >> My Money >> Currencies」中USD是否已激活(即使是主货币,部分账户需手动确认)。
- 排查买家地区限制:印度PayPal账户可能无法接收部分国家/地区买家的USD支付。可尝试用美国地区的PayPal账户发起测试支付,验证是否为地区权限问题。
- 查看后台交易错误详情:登录PayPal商家后台「Activity >> All Transactions」,找到失败的支付记录,查看具体错误代码(如
CURRENCY_NOT_SUPPORTED),PayPal会提供明确的限制原因说明。 - 确认客户端ID的环境匹配:确保使用的
client-id=ABC属于印度商家账户的生产环境,而非沙箱环境。沙箱账户的权限与生产环境独立,可能导致设置不生效。
内容的提问来源于stack exchange,提问作者Meraqp
相关产品推荐
相关产品推荐

