2017-06-15 5 views
0

Je suis confronté à un problème pour fournir la fonctionnalité Guest Checkout (facultatif) aux utilisateurs. J'ai essayé presque toutes les solutions sur stackoverflow mais il oblige toujours l'utilisateur à créer un compte sur paypal. Mon site actuel est basé sur Laravel. Sur mon ancien site internet basé sur Wordpress, le check-out des clients fonctionne très bien là où j'ai utilisé un plugin mais sur mon site actuel qui est basé sur Laravel, l'option Guest Checkout ne fonctionne pas du tout. J'utilise ce plugin https://github.com/srmklive/laravel-paypal. J'ai ajouté quelques lignes dans src/Services/ExpressCheckout.php en fonction SetExpressCheckout, donc SetExpressCheckout ressemble à ceci maintenant:Paypal Express Guest Checkout forçant l'utilisateur à créer un compte sur 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; 
} 

Mon ancien site page paypal ressemble à ceci, où l'utilisateur n'est pas obligé de créer un compte paypal :

enter image description here

Mon site actuel paypal regard page comme ça, où l'utilisateur doivent rejoindre paypal.

enter image description here

Remarque: compte Paypal sur les deux sites sont les mêmes, donc, si Commander Invité travaille pour un site Web, puis il devrait fonctionner pour un autre aussi.

Quelqu'un peut-il s'il vous plaît aidez-moi ce que je manque ici. Vos suggestions et votre aide seront grandement appréciées.

Merci.

Répondre

0

vous pouvez essayer de modifier votre valeur cmd que vous passez comme indiqué ci-dessous:

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

Il ne demandera pas de créer le compte et l'utilisateur peut la caisse en tant qu'invité avec paypal.

+0

J'ai essayé votre suggestion mais cela ne fonctionne toujours pas. –