2017-06-15 202 views
0

我面臨一個問題,即向用戶提供訪客結賬(可選)功能。我已經嘗試了幾乎所有的解決方案,但仍然強迫用戶在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帳戶,因此,如果客戶結帳工作的一個網站,那麼它應該再工作了。

任何人都可以請幫助我我在這裏失蹤。您的建議和幫助將受到高度讚賞。

謝謝。

回答

0

你可以嘗試改變你所喜歡通過下面給出您的CMD值:

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

也不會要求建立帳戶,用戶可以檢出與貝寶的客人。

+0

我試過你的建議,但它仍然無法正常工作。 –