Paypal Express Guest Checkout强制用户在paypal上创建账户

时间:2017-06-15 15:47:50

标签: laravel-5 express-checkout paypal

我遇到了向用户提供访客结帐(可选)功能的问题。我已经在stackoverflow上尝试了几乎所有的解决方案,但仍然迫使用户在paypal上创建一个帐户。我目前的网站是基于laravel。在我的旧网站上,基于Wordpress,访客结账在我使用插件的情况下运行良好,但在我目前的基于Laravel的网站上,Guest Checkout选项根本不起作用。我正在使用此插件https://github.com/srmklive/laravel-paypal。我在setExpressCheckout函数的src / Services / ExpressCheckout.php中添加了几行,所以setExpressCheckout现在看起来像这样:

    public function setExpressCheckout($data, $subscription = false)
{
    $this->post = $this->setCartItems($data['items'])->merge([
        'PAYMENTREQUEST_0_ITEMAMT'          => $data['total'],
        'PAYMENTREQUEST_0_AMT'              => $data['total'],
        'PAYMENTREQUEST_0_PAYMENTACTION'    => $this->paymentAction,
        'PAYMENTREQUEST_0_CURRENCYCODE'     => $this->currency,
        'PAYMENTREQUEST_0_DESC'             => $data['invoice_description'],
        'PAYMENTREQUEST_0_INVNUM'           => $data['invoice_id'],
        'NOSHIPPING'                        => 0,
        'SOLUTIONTYPE'                      => 'Mark',
        'LANDINGPAGE'                       => 'Billing',
        'USERSELECTEDFUNDINGSOURCE'         => 'CreditCard',
        'ADDROVERRIDE'                      => 1,
        'RETURNURL'                         => $data['return_url'],
        'CANCELURL'                         => $data['cancel_url'],
        'LOCALE'                            => $this->locale,
    ]);

    $this->setExpressCheckoutRecurringPaymentConfig($data, $subscription);

    $response = $this->doPayPalRequest('SetExpressCheckout');

    $response['paypal_link'] = $this->config['gateway_url'].'/webscr?cmd=_express-checkout&token='.$response['TOKEN'];

    return $response;
}

我的旧网站paypal页面看起来像这样,用户没有被迫创建PayPal帐户:

enter image description here

我当前的网站paypal页面看起来像这样,用户必须加入paypal。

enter image description here

注意:两个网站上的Paypal帐户都是相同的,因此,如果Guest Checkout适用于一个网站,那么它也适用于另一个网站。

任何人都可以帮助我,我在这里失踪了。您的建议和帮助将受到高度赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试更改您传递的cmd值,如下所示:

$response['paypal_link'] = $this->config['gateway_url'].'/webscr?cmd=_cart&token='.$response['TOKEN'];

它不会要求创建帐户,用户可以作为PayPal的访客结帐。