Jump to content

Erreur "Envoyer un email au client contenant le lien pour effectuer le paiement"


Recommended Posts

Bonjour,

J'utilise Prestashop 1.6, le mode one page checkout avec l'option commande express, et deux modules de paiement carte bancaire :
- Paypal
- Atos

Normalement lorsque qu'un client achète dans le front office, il a la possibilité de choisir les systèmes de paiement une fois les CGV acceptées.

Cependant, lorsque je génère un lien de commande depuis le backoffice, un bug apparait.

Cad ;

1- Je vais dans : Commandes > créer une commande, je crée ma commande puis clique sur "Envoyer un email au client contenant le lien pour effectuer le paiement".

2- Le client clique sur le lien. La fenêtre habituelle de paiement apparaît. Cependant, lorsqu'il accepte les CGV, plutôt que voir les deux modules de paiement, il est immédiatement redirigé vers une page lui proposant de payer via Paypal.

3- Pour ne rien arranger, en cliquant sur "je confirme ma commande", le client se retrouve sur une page avec un message  "An error occured:" au lieu de se retrouver sur la page de paiement paypal.

Est-ce que quelqu'un saurait corriger ça ?

D'avance merci. 

Link to comment
Share on other sites

  • 1 year later...

Bonjour

J'ai également le même souci depuis peu sans avoir rien modifier dans prestashop depuis 3 mois au moins- le bug est apparu du jour au lendemain - , la seule solution pour le moment a été de désactiver Paypal... car même une mise à jour du module vers la dernière version n'a rien changé ... mais au moins les clients ont le choix entre payplug, virement ou chèque... mais si une soluc existe merci de la partager

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour

Je remonte à nouveau ce topic car c'est galère tout de même de ne pas pouvoir proposer Paypal... 

J'ai tout essayé désinstaller tous mes modules de paiements puis les réinstaller rien à faire le bug revient toujours on avec un lien de commande on est envoyé vers cette page lorsque les CGV sont cliquées:

mini_754293redirectionpaypal.jpg

 

Et si on essaye de cliquer pour valider la commande: Page blanche et message d'erreur: "There is a error wtith your image directory!"

Par contre je me suis rendu compte de quelque chose:

Le lien de la commande qui est envoyé à un client est de cette forme:

monsite.com/index.php?controller=order&step=3&recover_cart=6262&token_cart=d6e527c6bc87cb0c4b2330b98a025040

 

si je vire "&step=3" de ce lien cela semble fonctionner... quelqu'un pourrait m'indiquer dans le core de prestashop ou se situe la génération du lien de la commande... 

Edited by romelik (see edit history)
Link to comment
Share on other sites

Bien je propose une solution qui semble fonctionner ...

Modifier ou overrider les fichiers AdminOrdersController.php et AdminCartController.php qui se situent dans controller/Admin

 

supprimer step=3 : ligne 1879 dans OrderController et ligne 806 dans Cartcontroller...

Et tout semble refonctionner... mais ATTENTION je ne suis pas sûr pour le moment que cela n'engendre pas d'autres souci !!! 

 

Dans adminOrdersController la fonction concernée est : public function ajaxProcessSendMailValidateOrder() Donc cette fonction crée bien le lien du mail a envoyer

Dans adminCartController la fonction concernée est  : public function ajaxReturnVars() c'est donc une variable qui est modifié par ma bidouille

 

Voilà si ca peut aider...

Link to comment
Share on other sites

  • 2 years later...

Problème qui existe toujours en 2020 !!!

de mon côté j'ai modifié le fichier paypal.js, j'ai commenté tout le contenu d'une condition vers la ligne 123.

{if isset($paypal_confirmation)}
    {literal}
        
        // $('#container_express_checkout').hide();
        // if(jquery_version[0] >= 1 && jquery_version[1] >= 7)
        // {
        //     $('body').on('click',"#cgv", function () {
        //         if ($('#cgv:checked').length != 0)
        //             $(location).attr('href', '{/literal}{$paypal_confirmation}{literal}');
        //     });
        // }
        // else {
        //     $('#cgv').live('click', function () {
        //         if ($('#cgv:checked').length != 0)
        //             $(location).attr('href', '{/literal}{$paypal_confirmation}{literal}');
        //     });

        //     /* old jQuery compatibility */
        //     $('#cgv').click(function () {
        //         if ($('#cgv:checked').length != 0)
        //             $(location).attr('href', '{/literal}{$paypal_confirmation}{literal}');
        //     });
        // }

    {/literal}

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...