我正在尝试整合paypal,但坚持这个错误。
我们很抱歉。此卖家不接受您的货币付款。 请返回卖家并选择其他付款方式。
我设定的货币是美元。我没有阻止它,我已将其添加到我的帐户中。
这是代码,我正在使用PHP。
$transaction_value = $this->payment_detail['amount'];
// $this->response($transaction_value);
$apiContext = new \PayPal\Rest\ApiContext(new \PayPal\Auth\OAuthTokenCredential(PAYPAL_CLIENTID,PAYPAL_SECRET));
$payer = new \PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');
$amount = new \PayPal\Api\Amount();
$amount->setTotal($transaction_value);
$amount->setCurrency($this->payment_detail['currency']);
// $amount->setCurrency('INR');
$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);
$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl(PROTOCOL.base_url().'pay/api/process')
->setCancelUrl(PROTOCOL.base_url().'home');
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
try {
$payment->create($apiContext);
// $this->response(array("paymentId" => $payment->id));
header('Location: '.$payment->getApprovalLink());
exit(0);
// echo $payment;
// echo "\n\nRedirect user to approval_url: " . $payment->getApprovalLink() . "\n";
}
catch (\PayPal\Exception\PayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
谢谢和问候, 萨蒂亚
答案 0 :(得分:3)
我有同样的问题。无需担心。一切正常。我致电了贝宝客户支持,他们向他们解释说,要使印度贝宝卖家帐户收到钱,您需要以美元设置货币,然后只有非印度帐户才能通过该帐户进行购买。如果您将货币设置为INR,则只有印度帐户可以向您付款。您创建了一个不同的帐户,但是仍然是使用登录凭证从印度创建的,因此它仍然是印度帐户。如果您想进行测试,请使用非印度籍人士或不在印度居住的人的帐户进行测试。它将正常工作。
干杯!
答案 1 :(得分:1)
在使用PayPal付款网关进行WooCommerce商店设置时,我也遇到了同样的问题。我拥有一个印度PayPal帐户,我想从印度以外的客户那里接收美元以及印度卢比的本地付款。
1)必须通过PayPal进行全面的KYC验证,以实现国内和国际付款。如果未完成,则登录时会在您的贝宝帐户顶部提示。
2)允许从您的商家Paypal个人资料进行国际付款。 a)登录到您的PayPal帐户。 b)通过单击与此选项相对应的“更新”链接,转到“设置”>“销售工具”>“冻结付款”。 c)为“允许以我不持有的货币发送给我的付款”选择“是”选项。 d)为“阻止意外付款”选择“是”选项。 e)如果没有自动保存,请保存设置。
3)将必要的货币添加到您的PayPal帐户,这是免费的:)
最重要的是,当印度客户使用相同的产品时,应该在INR中看到,以便直接以INR的方式接受付款到商家的PayPal帐户。但是同样,当客户在印度以外的地方进行购买时,如果您单独设置或以美元为所有非印度客户通用的美元,那么他(她)应该会看到他们所在国家的货币。
因此,在这种特殊的WooCommerce情况下,您需要先在网站上启用转换货币机制,然后再将请求发送到PayPal。因此,在贝宝(PayPal)指导下,我在WooCommerce商店中使用货币切换器插件解决了此问题。
非常感谢PayPal商家的支持!
答案 2 :(得分:0)
所以我找到了解决这个问题的方法。
只需登录到商家帐户(可能是沙箱帐户)即可(例如:someone-facilitator @ domain)。
然后点击仪表板右上角的齿轮图标,打开设置页面。
现在,从左侧边栏中单击“销售工具”,然后单击“获得付款并管理风险”部分下“批量付款”前面的“更新按钮”。
请参阅所附图片。
现在,在“接收付款的偏好”部分中,为“允许以我不持有的货币发送给我的款项:”选择“是,接受...。”。
Preferences for receiving payments - Screenshot
就是这样。
答案 3 :(得分:0)
我也遇到了此类问题,并尝试根据建议更改所有设置,但并没有消失。 之后,我将网站使用的货币USD更改为INR,然后重新尝试,现在可以正常使用了。 因此,我认为综合付款货币和收款帐户国家/地区货币必须相同。
对我来说已经解决了,但是从逻辑上讲,这种限制是错误的。请为该问题做任何事情贝宝开发者社区。
答案 4 :(得分:0)
您可以以印度卢比收到印度的付款,以美元以印度以外收到付款。请参阅来自贝宝的文档:
答案 5 :(得分:0)
创建两个新的 SandBox 帐户,一个是 Personal,另一个是 Business 选择美国作为两个帐户的国家/地区。 付款时,请使用个人帐户的凭据。 它会解决问题。