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

问题描述:

我面临一个问题,即向用户提供访客结账(可选)功能。我已经尝试了几乎所有的解决方案,但仍然强迫用户在paypal上创建一个帐户。我目前的网站是基于laravel。在我基于Wordpress的旧网站上,客户结帐工作正常,我使用的是一个插件,但在当前基于Laravel的网站上,客户结帐选项根本无法工作。我正在使用这个插件https://github.com/srmklive/laravel-paypal。我加了几行中的src /服务/ ExpressCheckout.php在setExpressCheckout功能,所以setExpressCheckout看起来像现在这样:Paypal Express Guest Checkout强制用户在PayPal上创建账户

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帐户:

enter image description here

我现在的网站贝宝页面看起来像这样,在用户已经加入贝宝。

enter image description here

注:这两个网站都是相同的Paypal帐户,因此,如果客户结帐工作的一个网站,那么它应该再工作了。

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

谢谢。

你可以尝试改变你所喜欢通过下面给出您的CMD值:

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

也不会要求建立帐户,用户可以检出与贝宝的客人。

+0

我试过你的建议,但它仍然无法正常工作。 –