Magento Forum

   
Statut de commande
 
dgir
Member
 
Total Posts:  35
Joined:  2010-12-09
 

J’aimerais corriger un petit bug que j’ai trouvé, j’aurais besoin d’aide svp, j’espère que cela pourra également servir à d’autre.

J’utilise les modules Cybermut pour les paiements par CB.

Lorsqu’un client passe une commande et paye, la commande prend le statut : “En cours de traitement”. Mais si la personne par une fausse manipulation (type faire précédent sur la confirmation de commande ou arrêter la requete avant la redirection) se retrouve à nouveau sur la page de Paiement, et clique sur “Annuler” (vu qu’elle a déjà payé).

Alors la commande qui est payée, repasse en statut “En attente”.

J’aimerais qu’en cas d’annulation, la commande reste à “En cours de traitement” si elle l’était déjà et était déjà payée.

Je pense pouvoir m’en sortir avec le codage, mais je ne sais pas du tout où regarder pour trouver le controller qui fait ce genre de chose ...

Merci d’avance à quiconque pourra m’aider.

 
Magento Community Magento Community
Magento Community
Magento Community
 
mfoillard
Member
 
Total Posts:  67
Joined:  2008-08-04
 

Oui j’ai le même problème ici avec la version 1.0.1
As-tu trouvé une solution de ton coté ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
mfoillard
Member
 
Total Posts:  67
Joined:  2008-08-04
 

--- PaymentController.php 2012-10-09 11:15:26.000000000 +0200
+++ PaymentController.php.new 2012-10-09 11:15:24.000000000 +0200
@@ -321,6 +321,11 @@
$status = $order->getStatus();
}

+ if($order->getState() == Mage_Sales_Model_Order::STATE_PROCESSING) {
+ $this->_redirect(’sales/order/view/order_id/’ . $order->getId());
+ return;
+ }
+
$order->addStatusToHistory(
$status,
$this->__(’Order was canceled by customer’)

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cyclo
Jr. Member
 
Total Posts:  24
Joined:  2012-07-06
 
dgir - 08 April 2011 12:02 AM

J’aimerais corriger un petit bug que j’ai trouvé, j’aurais besoin d’aide svp, j’espère que cela pourra également servir à d’autre.

J’utilise les modules Cybermut pour les paiements par CB.

Lorsqu’un client passe une commande et paye, la commande prend le statut : “En cours de traitement”. Mais si la personne par une fausse manipulation (type faire précédent sur la confirmation de commande ou arrêter la requete avant la redirection) se retrouve à nouveau sur la page de Paiement, et clique sur “Annuler” (vu qu’elle a déjà payé).

Alors la commande qui est payée, repasse en statut “En attente”.


J’aimerais qu’en cas d’annulation, la commande reste à “En cours de traitement” si elle l’était déjà et était déjà payée.

Je pense pouvoir m’en sortir avec le codage, mais je ne sais pas du tout où regarder pour trouver le controller qui fait ce genre de chose ...

Merci d’avance à quiconque pourra m’aider.

As tu crée de nouveaux status personnalisés pour par exemple :
“Statut des commandes dont le paiement est refusé par Cybermut” au lieu de “Annulée” tu as mis par exemple “Erreur de Paiement” ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
chatlumo
Guru
 
Total Posts:  301
Joined:  2008-02-20
Paris
 
mfoillard - 09 October 2012 12:17 AM

--- PaymentController.php 2012-10-09 11:15:26.000000000 +0200
+++ PaymentController.php.new 2012-10-09 11:15:24.000000000 +0200
@@ -321,6 +321,11 @@
$status = $order->getStatus();
}

+ if($order->getState() == Mage_Sales_Model_Order::STATE_PROCESSING) {
+ $this->_redirect(’sales/order/view/order_id/’ . $order->getId());
+ return;
+ }
+
$order->addStatusToHistory(
$status,
$this->__(’Order was canceled by customer’)

Bonjour,

Y’a-t’il un équivalent pour la version 2.0.4 (Magento 1.4 à 1.6.x) ?

Merci

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top