THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,

J'ai un problème assez urgent à résoudre avec le plugin paypal officiel car je suis sur la mise en production d'un site.

Le problème se présente en mode sandbox comme un prod.

Lorsque je valide un panier et que je me retrouve sur la page d’identification paypal et qu'au lieu de m'identifier ou créer un compte je clique sur "Annuler et revenir sur...", et bien je reviens sur ma page de commande (/?fond=commande&action=transport&id=2&token=EC-28M80518L89388108) seulement les frais de port sont à 0 !

Ils étaient pourtant bien présents, tant sur ma page commande du site que dans le panier affiché à gauche sur la page d’identification paypal.

On peut ensuite relancer le payment par paypal, ou chèque ou virement, avec les frais de port à 0...

Si une bonne âme peut partager une idée sur la cause de ce problème et comment le résoudre, je lui en serai infiniment reconnaissant.

Ciao

Offline


J'ai une piste plus précise: le problème vient du "id=2" dans l'url. Il ne correspond pas à un type de transport existant sur le site. ça devrait être id=16, celui qui est choisi dans la commande de départ...

Qu'est-ce qui détermine cet id en cas de retour après annulation sur paypal?

Offline


C'est quoi le nom du "plugin paypal officiel" ?


OpenStudio Toulouse

Offline


Salut roadster, c'est "PayPal".
Il est présenté sur la page des module comme "Module officiel de paiement PayPal": http://thelia.net/v1/contributions/plug … paypal-835

ajout: je suis en thelia 1.5.4.3

Last edited by L-Création (25-06-2014 15:33:59)

Offline


A priori, j'ai trouvé d'où vient le "id=2" dans l'url de retour en cas d'annulation paypal.
Dans le fichier PaypalTheliaV15Facade.php, il y a le code suivant ligne 246:

    public function getCancelUrl()
    {
        return $this->urlSite . '/?fond=commande&action=transport&id=2';
    }

Par ailleurs, après avoir installé des transports puis les avoir enlevés, il restait dans la table transzone de ma bdd une ligne pour le transport 2 mais qui ne correspondait plus à aucun mode de transport existant. Donc en revenant sur la page commande, le prix du transport était à 0.

En nettoyant la table dans ma bdd, le retour de paypal après annulation m'amène maintenant à la page ?fond=adresse.
C'est normal car quand on entre une url ?fond=commande&action=transport&id=2 avec un id de transport qui n'existe pas en bdd, on est renvoyé sur la page ?fond=adresse pour choisir un mode de transport.

C'est quand même très arbitraire et "bizarre" ce id=2 choisi d'avance dans le plugin...

J'ai essayé de remplacer id=2 par id=' . $commande->transport mais ça ne fonctionne pas. Je ne suis pas du tout un as en php, je dois m'en remettre à vous.

En tout cas le problème est circonscrit et contournable, à défaut d'être résolu.

Offline


Alors effectivement, il suffit de remplacer les deux occurrences de "paypaloffi_checkout_show_shipping_address" ci-dessus par "paypaloffi_configuration_mode_sandbox", et ça fonctionne!
Maintenant, en faisant une commande en test jusqu'au bout, la commande ne passe pas en état payée dans l'admin.
Est-ce le comportement normal de ce plugin en mode test (sandbox)?


http://www.testking.me/201-01-exam.html   
http://researchcollege.edu/   
http://www.microsoft.com/   
http://www.berkeley.edu/index.html