THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Plug in reprise paiement.

(09-09-2013 17:44:07)


Bonjour à tous, je souhaite mettre en place un système où je pourrais préparer la commande de quelqu'un et que ce quelqun puisse se connecter plus tard sur son compte et payer cette commande. Ainsi je me tourne plus naturellement vers le plug-in reprise paiement.

Après quelques petits déboirs je me retrouve avec un soucis récurrent, et je ne trouve pas d'indication dans la section recherche.

Le premier soucis est que je suis sur un template 1.4 et un moteur 1.5.4 (je sais que c'est pas bien mais je n'ai pas encore envisagé de mettre à jour mon template)

Ainsi j'ai rajouter ceci à mon code dans commande_detail.html :

 <THELIA_PAIEMENT type="PAIEMENT">   
    <div>
        <img src="#LOGO">
modepaiement : #ID
refccmmande : #COMMANDE_REF
        <a href="
            <THELIA_reprise type="REPRISEPAIEMENT" modepaiement="#ID" refcommande="#COMMANDE_REF">
                #REPRISEPAIEMENT_URL
            </THELIA_reprise>
        ">Je choisi ce mode de paiement</a>
</div>
   
</THELIA_PAIEMENT>  

Ainsi quand ce brave client test  à qui j'ai crée une commande rentre dans son compte et va voir le détail de la dite commande, j'ai bien le bon mode de paiement et la bonne ref de commande qui s'affiche et au moment ou je clique sur "je choisi ce mode de paiement", il me rajoute #REPRISEPAIEMENT_URL à la fin de l'url afficher.

J'ai testé de mettre "poil" à la place de "#REPRISEPAIEMENT_URL" et je tombe à ce moment sur www.monsite.com/poil.

Je m'en remet ainsi à votre savoir bien au dessus de mon niveau de simple débutant pour m'éclaircir, merci par avance.

PS: du coup c'est le plug-in Reprise Paiement 1.0 (et il est bien activé dans le back office smile )

Offline


Bon en attendant j'ai fait un truc un peu moche ou je balance la somme en clair vers le plug-in ATOS un peu modifié

 <THELIA_PAIEMENT type="PAIEMENT">   
    <div>
        <img src="#LOGO">
modepaiement : #ID <br>
refccmmande : #COMMANDE_REF <br>
        <a href="
            <THELIA_cmd2 type="COMMANDE" ref="#COMMANDE_REF" client="#CLIENT_ID">
                /client/plugins/atos/paiement.php?somme=#TOTCMDPORT
            </THELIA_cmd2>
        ">Je choisi ce mode de paiement</a>
</div>
   
</THELIA_PAIEMENT>  

Au moins ça dépanne pour l'instant.

Offline


Moi j'ai mis cela et ça marche sur Thelia 1.5.3.4

<THELIA_PAIEMENT type="PAIEMENT">   

   
       
       
        <a href="
        <THELIA_reprise type="REPRISEPAIEMENT" modepaiement="#ID" refcommande="#COMMANDE_REF">
                #REPRISEPAIEMENT_URL
            </THELIA_reprise>
        "><h3>Je choisi ce mode de paiement</h3><img src="#LOGO"></a><br/><br/><br/>

</THELIA_PAIEMENT>

Offline


Pour ma part #REPRISEPAIEMENT_URL ne fait rien d'autre que rafraîchir la page avec l'ajout de #REPRISEPAIEMENT_URL à la fin de l'URL.
En revanche en remplaçant #REPRISEPAIEMENT_URL par #URL ça fonctionne à merveille.

<THELIA_PAIEMENT type="PAIEMENT">
     <a href="     
          <THELIA_reprise type="REPRISEPAIEMENT" modepaiement="#ID" refcommande="#COMMANDE_REF">
               #URL
          </THELIA_reprise>
     ">Régler ma commande par <strong>#TITRE</strong></a>
</THELIA_PAIEMENT>

Offline


Bonjour

Je suis en train de tester ce plugin. Et il semble que la boucle n'est pas traitée. La fonction boucle (...) du plugin ne semble pas être appelée. Du coup, #REPRISEPAIEMENT_URL reste inchangé.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Re-bonjour

Les cas classiques avec un paiement CB : le client se trompe dans son code, où il n'a pas son mobile pour recevoir le code 3D secure, ou il a a dépassé son plafond.

Si le client a déjà été sur le formulaire de paiement de la banque, et qu'il n'a pas pu payer pour les raisons précédentes ou une autre, alors si il revient une 2ème fois alors il y a toutes les chances que le site de paiement en ligne lui refuse de continuer, en lui indiquant que la commande a déjà été passée mais qu'elle a été annulée. On est bloqué.
C'est le cas avec ATOS. C'est aussi le cas avec PAYPAL.

En effet, lors de la transaction, le plugin de paiement indique un id de transaction qui correspond à l'id de commande. Et il n'est utilisable qu'une seule fois par le site de paiement.
Il faudrait donc fournir un id unique, mais qui permette de retrouver l'id de commande original au moment de la confirmation de paiement vers le site.

Je suis étonné que personne n'est remonté ce cas de figure, ô combien commun.

En l'état, le plugin ReprisePaiement est inutile.

Last edited by Bruno31 (07-04-2016 16:35:38)


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


C'est sans doute parce que l'identifiant de transaction est basé sur l'identifiant de commande, ou sa référence, et qu'il reste le même.

Il faudrait donc modifier l'identifiant de transaction entre chaque appel à Atos.


OpenStudio Toulouse

Offline


Salut Roadster

Exactement ! mais lors du retour de transaction, n'est-ce pas ce même id qui est utilisé pour retrouver la commande ? Et il doit correspondre à l'ID dans la base ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Oui, il doit correspondre à l'ID en base.

Je précise donc: "Il faudrait donc modifier l'identifiant de transaction entre chaque appel à Atos, et l'enregistrer dans la table commande".


OpenStudio Toulouse

Offline


Donc il faut créer un nouvel enregistrement dans la base, car l'ID correspond à la clé. Du coup, on va se retrouver avec N commandes portant la même référence. Donc les plus anciennes vont rester en impayées. Je ne suis pas sûr que cela ne mette pas le brin tout ça ?

Ou alors, l'id que je passe au site de paiement est une composition de l'id de commande + underscore + la date.
Au retour de transaction, je fais un explode et je récupère le id de commande.

Qu'en penses-tu ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


oui, très bien


OpenStudio Toulouse

Offline


Roadster

Il y a un truc qui me chiffonne : suis-je le premier à remonter le truc ? Parce qu'avoir la possibilité de reprendre une commande non-payée, c'est quand même un truc basique ? Aucun utilisateur THELIA n'offre cette possibilité donc ? Je dis cela car le plugin ReprisePaiement me semble inutilisable en l'état. En tous cas avec ATOS et PAYPAL.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Donc il fallait modifier le plugin ATOS :
- calculer un ID de transaction unique se basant sur la date, et non prendre la valeur stockée en base,
- La solution ATOS distingue le ID de transaction et le ID de commande (order). donc on affecte ce dernier au numéro de commande, que lon récupère au retour de transaction pour retrouver la commande et pour confirmer que le paiement a été effectué.

Donc seulement quelques lignes à changer.

Si quelqu'un a besoin, je lui donne le code modifié.

Le plugin PAYPAL fonctionne sans modification contrairement à ce que j'ai pu écrire plus haut.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois