Jump to content

mise à jour statut sans perte de panier


granpa

Recommended Posts

Bonjour,

Je cherche à faire apparaitre une commande dans mon administration avec un statut nouveau. Pour cela j'utilise ce code en fin de commande :

$cbetransaction->validateOrder($cart->id, _PS_OS_MONSTATUT_, $total, $cbetransaction->displayName, NULL, $currency->id);



Mon soucis c'est que visiblement de changer le statut vide le panier. Donc j'aimerais savoir si je peux mettre quelque part que si c _PS_OS_MONSTATUT_ alors le panier ne se vide pas. je pense que ca se joue dans "classes/PaymentModule.php"

Le but de la manoeuvre c'est d'avoir une trace de la commande dans l'administration avant de partir sur un site de paiement tiers. Donc j'ai crée un statut "en attente du site tiers" le problème de vider le panier c'est que si l'internaute raffraichi la page ca me fait panier deja utilisé pour une commande et du coup tout est à zero et je perd probablement mon client.

Link to comment
Share on other sites

Ca m'intéresse aussi car j'ai un peu le même problème:

si l'internaute est redirigé vers un site de paiement tiers et qu'il annule son paiement, alors lorsqu'il revient dans la boutique son panier est vide.

Comment pallier à ce problème? Ou se trouve l'appelle à la fonction qui vide la panier?

Merci d'avance.

Phinette

Link to comment
Share on other sites

  • 1 year later...

Sujet ancien, mais qui peut toujours servir!
J'ai la solution... En tout cas la mienne!
Dans mon exemple, j'ai créé un module de paiement Paiement à la boutique, statut associé : En attente de paiement à la boutique !

Tout d'abord, il faut créer le statut souhaité dans l'administration : Admin >> Commandes >> Statuts
Puis faire nouveau
Nom du statut : En attente de paiement à la boutique
Personnaliser le statut comme bon vous semble (template email, couleur etc...)
Puis valider!

Ce statut possède un identifiant maintenant.
Par défaut, il y a 12 statuts, donc le prochain c'est le 13!

Maintenant, il faut aller dans le fichier config.inc.php (racine boutique >> config).
Aller vers la ligne 108 : /* Order states */
Il y à la liste des statuts avec leur identifiant...
Il faut rajouter le nouveau : define('_PS_OS_BOUTIQUE_', 13); à la suite de la liste.

Dernière étape : Prendre en compte ce statut dans le passage de la commande.
Pour cela, rendez-vous dans le fichier validation.php de votre module de paiement...

Trouver la ligne comprenant un : validateOrder(intval($cart->id), XXXXXXXXXXXXXX, $total, $nom_du_module_de_paiement->displayName);
Et remplacer le XXXXXXXXXXXXXX par le _PS_OS_BOUTIQUE_

Lors de la prochaine commande via ce module de paiement, la commande aura le nouveau statut précédemment ajouté!

Bonne continuation ;)

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