Jump to content

Problème variables e-mails paiements [PS 1.7]


Recommended Posts

Bonjour,

 

Je rencontre un problème sur ma boutique en développement PS 1.7. En effet, lorsqu'une commande est passée, le mail de confirmation de paiement envoyé contient toujours l'intitulé de certaines variables (au lieu de voir afficher leur contenu).

 

Je remarque que les variables envoyées au template de mail par la classe PaymentModule.php sont bien reçues et affichent le résultat attendu. En revanche, les variables passées en paramètre de la fonction validateOrder (de la classe PaymentModule.php) ne sont pas pris en compte.

 

 

Voila le template du mail pour le module chèque :

 

Commande {order_name} - En attente du paiement par chèque

Nous avons bien enregistré votre commande ayant pour référence {order_name}. Celle-ci vous sera envoyée dès réception de votre paiement.

 

Vous avez choisi de payer par chèque.

Voici les informations dont vous avez besoin pour effectuer le paiement :
Montant : {total_paid}
À l'ordre de : {cheque_name}
Veuillez envoyer votre chèque à l'adresse suivante : {cheque_address_html}

 

 

 

Voici le résultat (mail reçu) :

 

Commande ESLDTJMWL - En attente du paiement par chèque

Nous avons bien enregistré votre commande ayant pour référence ESLDTJMWL. Celle-ci vous sera envoyée dès réception de votre paiement.

 

Vous avez choisi de payer par chèque.

Voici les informations dont vous avez besoin pour effectuer le paiement :
Montant : 68,90 €
À l'ordre de : {cheque_name}
Veuillez envoyer votre chèque à l'adresse suivante : {cheque_address_html}

 

 

J'ai bien entendu testé le contenu des variables avant d'être envoyées à la classe PaymentModule, tout est ok.

J'ai testé leur contenu dans la methode validateOrder(), tout est ok.

 

J'ai même testé leur contenu dans la méthode Mail::send(), tout est ok, même l'objet $swift contient bien les informations lorsqu'il exécute $swift->send($message);

 

Je précise que j'ai installé une version PS 1.7.0, puis ait réalisé la mise à jour vers 1.7.1. Je n'ai rien modifié dans les fichiers pouvant entrainer un dysfonctionnement au niveau de Swift.

 

Merci pour toute aide pouvant être apportée!

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

Bonjour,

 

Merci pour votre réponse!

 

En revanche j'ai toujours le même soucis :

 

Montant : 68,90 €
À l'ordre de : {check_name}
Veuillez envoyer votre chèque à l'adresse suivante : {check_address_html}

 

Cela me le fait également pour les virements :

 

Montant : 68,90 €
Titulaire du compte : {bankwire_owner}
Informations sur le compte : {bankwire_details}
Adresse de la banque : {bankwire_address}

 

 

Edit : Avec une nouvelle commande, cela semble fonctionner... Mais en faisant renvoyer le mail via la commande en admin, ce problème persiste....

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

Bonjour

Je vais vous indiquer ce que j'ai modifié et cela marché 100% pour le paiement en chèque ... vous faites pareil pour le virement 

 

www/modules/ps_checkpayment/controllers/front/validation.php

Dans le fichier validation.php, vous devez changer :

 

$mailVars =    array(
            '{check_name}' => Configuration::get('CHEQUE_NAME'),
            '{check_address}' => Configuration::get('CHEQUE_ADDRESS'),
            '{check_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
 
Par: 
 
$mailVars =    array(
            '{cheque_name}' => Configuration::get('CHEQUE_NAME'),
            '{cheque_address}' => Configuration::get('CHEQUE_ADDRESS'),
            '{cheque_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
 
Tenez moi au courant si cela a réglé votre problème
Bien cordialement
Bassel 
Link to comment
Share on other sites

Bonjour,

 

C'est déjà ce que j'ai dans ce fichier, comme dans ps_checkpayment.php.

 

J'ai bien {check_XXX} dans les fichiers php et le template de mail. Donc cela devrait correspondre à 100% comme vous.

D'ailleurs cela fonctionne lors d'une nouvelle commande, mais pas lorsque l'on renvoie ce même mail via le bouton prévu à cette effet dans la commande.

Link to comment
Share on other sites

  • 5 months later...

D'ailleurs cela fonctionne lors d'une nouvelle commande, mais pas lorsque l'on renvoie ce même mail via le bouton prévu à cette effet dans la commande.

 

Salut Mister Magic,

 

Exactement le même problème que vous au niveau du renvoi d'email depuis l'admin. Aviez-vous trouvé la solution ?

Merci d'avance

Mathieu

Link to comment
Share on other sites

  • 8 months later...
  • 1 year later...
On 4/21/2017 at 12:12 PM, Bassel said:

Bonjour

Je vais vous indiquer ce que j'ai modifié et cela marché 100% pour le paiement en chèque ... vous faites pareil pour le virement 

 

www/modules/ps_checkpayment/controllers/front/validation.php

Dans le fichier validation.php, vous devez changer :

 

$mailVars =    array(
            '{check_name}' => Configuration::get('CHEQUE_NAME'),
            '{check_address}' => Configuration::get('CHEQUE_ADDRESS'),
            '{check_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
 
Par: 
 
$mailVars =    array(
            '{cheque_name}' => Configuration::get('CHEQUE_NAME'),
            '{cheque_address}' => Configuration::get('CHEQUE_ADDRESS'),
            '{cheque_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
 
Tenez moi au courant si cela a réglé votre problème
Bien cordialement
Bassel 

Hello merci pour la recherche . Désolé , je bigle : ou est la différence entre les deux ?

merci

Link to comment
Share on other sites

  • 4 months later...

Salut chers PrestaFans,

 

Avez-vous trouvé une solution à ce problème ?

 

J'ai le même!

 

L'enjeu majeur c'est que tout se passe bien lors de la création d'une nouvelle commande, mais ça bug quand on tente de renvoyer l'email via le back office /commande.

 

Les infos ne sont pas renseignées 

 {cheque_name}

 {cheque_address_html}

 

p.s. je suis en 1.7.6

Link to comment
Share on other sites

  • 7 months later...

Dans la table ps_order_state, champs "module_name", les données sont fausses pour le chèque et le virement bancaire. Les modules ayant des noms différents sous 1.7, il faut changer "cheque" par "ps_checkpayment" et "bankwire" par "ps_wirepayment".

  • Thanks 3
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

Malgré la modif proposée par Bassel j'ai toujours le même problème, que ce soit avec les chèques ou avec les virements.

On 4/1/2021 at 2:39 PM, Dream me up said:

Dans la table ps_order_state, champs "module_name",

Comment accéder à la table ps_order_state ?

Je suis en Prstashop 1.7.7.3, thème classic.

Merci pour vos pistes.

Link to comment
Share on other sites

53 minutes ago, chokoben said:

Bonjour,

Malgré la modif proposée par Bassel j'ai toujours le même problème, que ce soit avec les chèques ou avec les virements.

Comment accéder à la table ps_order_state ?

Je suis en Prstashop 1.7.7.3, thème classic.

Merci pour vos pistes.

Il faut demander à votre hébergeur les accès à votre base de données pour modifier les données de la table.

Link to comment
Share on other sites

  • 2 months later...
On 4/1/2021 at 2:39 PM, Dream me up said:

Dans la table ps_order_state, champs "module_name", les données sont fausses pour le chèque et le virement bancaire. Les modules ayant des noms différents sous 1.7, il faut changer "cheque" par "ps_checkpayment" et "bankwire" par "ps_wirepayment".

Hello.

Cette solution a tout réglé pour nous :) sous 1.7.6.8

Merci DreamMeUp !

Link to comment
Share on other sites

  • 1 year later...
On 4/1/2021 at 2:39 PM, Dream me up said:

Dans la table ps_order_state, champs "module_name", les données sont fausses pour le chèque et le virement bancaire. Les modules ayant des noms différents sous 1.7, il faut changer "cheque" par "ps_checkpayment" et "bankwire" par "ps_wirepayment".

Great.
Works for me on 1.7.8

Thanks

Link to comment
Share on other sites

  • 3 weeks later...
On 4/1/2021 at 2:39 PM, Dream me up said:

Dans la table ps_order_state, champs "module_name", les données sont fausses pour le chèque et le virement bancaire. Les modules ayant des noms différents sous 1.7, il faut changer "cheque" par "ps_checkpayment" et "bankwire" par "ps_wirepayment".

Merci @Dream me up ça corrige la 1.7.6.1 👍

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...