我们很抱歉。此卖家不接受您的货币付款。

时间:2018-05-20 19:03:34

标签: php paypal payment-gateway paypal-sandbox

我正在尝试整合paypal,但坚持这个错误。

  

我们很抱歉。此卖家不接受您的货币付款。   请返回卖家并选择其他付款方式。

我设定的货币是美元。我没有阻止它,我已将其添加到我的帐户中。

enter image description here

enter image description here

这是代码,我正在使用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();
    }

谢谢和问候, 萨蒂亚

6 个答案:

答案 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's email to me explaining the above

非常感谢PayPal商家的支持!

答案 2 :(得分:0)

所以我找到了解决这个问题的方法。

只需登录到商家帐户(可能是沙箱帐户)即可(例如:someone-facilitator @ domain)。

然后点击仪表板右上角的齿轮图标,打开设置页面。

现在,从左侧边栏中单击“销售工具”,然后单击“获得付款并管理风险”部分下“批量付款”前面的“更新按钮”。

请参阅所附图片。

Settings page - Screenshot

现在,在“接收付款的偏好”部分中,为“允许以我不持有的货币发送给我的款项:”选择“是,接受...。”。

Preferences for receiving payments - Screenshot

就是这样。

答案 3 :(得分:0)

我也遇到了此类问题,并尝试根据建议更改所有设置,但并没有消失。 之后,我将网站使用的货币USD更改为INR,然后重新尝试,现在可以正常使用了。 因此,我认为综合付款货币和收款帐户国家/地区货币必须相同。

对我来说已经解决了,但是从逻辑上讲,这种限制是错误的。请为该问题做任何事情贝宝开发者社区。

答案 4 :(得分:0)

您可以以印度卢比收到印度的付款,以美元以印度以外收到付款。请参阅来自贝宝的文档:

https://www.paypalobjects.com/digitalassets/c/website/marketing/apac/IN/enable-inr-for-merchants/enabling-inr-payments-direct-website-ec.pdf

答案 5 :(得分:0)

创建两个新的 SandBox 帐户,一个是 Personal,另一个是 Business 选择美国作为两个帐户的国家/地区。 付款时,请使用个人帐户的凭据。 它会解决问题。