Jump to content

Fonctionnement du statut de commande en fonction du moyen de paiement.


Recommended Posts

Bonjour,

Lorsque le client choisit le paiement "par chèque" le statut passe à "en attente du paiement par chèque), lorsqu'il choisit "paypal', le statut passe directement à "paiement accepté".

Je voudrais savoir dans quel(s) fichier(s) s'effectue la modification du statut de la commande lors du choix de la méthode de paiement par le client et ceci afin de pouvoir rajouter une condition portant sur le transporteur.

J'utilise la version 1.4.3 de prestashop.

Merci pour vos réponses.

Link to comment
Share on other sites

Bonjour,

Lorsque le client choisit le paiement "par chèque" le statut passe à "en attente du paiement par chèque), lorsqu'il choisit "paypal', le statut passe directement à "paiement accepté".

Je voudrais savoir dans quel(s) fichier(s) s'effectue la modification du statut de la commande lors du choix de la méthode de paiement par le client et ceci afin de pouvoir rajouter une condition portant sur le transporteur.

J'utilise la version 1.4.3 de prestashop.

Merci pour vos réponses.


Bonsoir ,
Ce statut est défini lors de la phase de validation d'un paiement, généralement donc dans le fichier validation.php du module de paiement. Soit lors de l'appel à la fonction validateOrder .
La deuxième valeur de l'appel à la methode est l'id du statut de paiement .
Link to comment
Share on other sites

Bonjour,
Merci pour vos indications.

Je travaille donc sur le fichier validation.php du module cheque pour commencer. Je compte faire la même chose pour les modules paypal et virement.

J'ai créé un nouveau statut avec son template email associé.

Dans le fichier config/defines.inc.php j'ai rajouté le nouveau statut :[ligne 122] define('_PS_OS_CHEQUE_SEAPROD', 14);

J'ai modifié le fichier validation.php pour que si le client choisit le transporteur dont l'id est 19 le nouveau template mail soit envoyé :

if ($cart->id_carrier == 19)
$cheque->validateOrder((int)$cart->id, _PS_OS_CHEQUE_SEAPROD, $total, $cheque->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);

if ($cart->id_carrier != 19)
$cheque->validateOrder((int)$cart->id, _PS_OS_CHEQUE_, $total, $cheque->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);

Le client reçoit bien le mail mais après avoir cliqué sur confirmer, il lui apparaît sur la page du site le message : "Nous avons rencontré un problème avec votre commande, merci de contacter notre support client support client."

Pourriez vous m'aider à résoudre ce problème? Est ce une question de sécurité?

Merci de votre aide.

PS :vous remarquerez la basicité de ma programmation et je vous prie de m'en excuser. Je ne souhaite pas faire un module mais juste adapter ce magnifique outil à mes contraintes.

Link to comment
Share on other sites

  • 10 months later...

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