THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Commandes annulées

(04-12-2013 22:08:17)


Bonjour
Je m'occupe d'une boutique fraîchement installée sur le site d'un groupe de musique.
La personne qui gere les commande vient de me faire une demande  mais je ne trouve pas vraiment de solution ici. Quelques pistes, pas forcement claires ou pas assez détaillées pour moi qui ne maîtrise pas du tout le développement.

Je suis sous thelia V 1.5.4.2
Nous ne proposons que le paiement pas CB (via paybox)

J'aimerais que seules les commandes payées finalisées
- soient visibles dans la listes des commandes (coté client et coté vendeur)
-envoient un mail au vendeur et a l'acheteur
-déduisent le nombres d'articles du stock

Actuellement une commande annulée juste avant le paiement envoie un mail/est visible dans le listing/pour les tock on ne m'a pas précisé.


J'espere qu'il y a une astuce simple et qu'il ne faut pas/ ou tres peu toucher au code..

MErci d'avance pour votre aide

http://www.lesogres.com/boutique

Last edited by celineOgresse (05-12-2013 15:09:08)


www.lesogres.com

Offline

#2 Re: Commandes annulées

(05-12-2013 04:26:30)


Salut,

alors on va procéder dans l'ordre:
- pour que les commandes soit visible uniquement coté client selon leur statut:
Sur la page moncompte.html

<THELIA_cmd type="COMMANDE" client="#CLIENT_ID" statut="2,3,4">
               <tr>
                   <td class="ligne">#REF</td>
                   <td align="center" class="ligne">#DATE</td>
                   <td align="center" class="ligne">#TOTCMDPORT €</td>
                   <td align="center" class="ligne">#STATUT</td>
                   <td align="center" class="ligne"><a href="commande_detail.php?commande=#REF">Voir la commande</a></td>
               </tr>
               </THELIA_cmd>

- pour les commandes coté admin, deux solutions:
             - soit la personne se sert du tri pour afficher juste celle qu'elle veut
             - soit il faut forcé le statut souhaité dans le template admin (en modifiant dans le code)

- pour l'envoie de mail au client et vendeur selon un statut, il faut regarder le code du plugins, je ne le connais et à cet heure ci j'ai un peu la flemme

- les articles sont de tete decrementé du stock à partir du moment ou la commande passe au statut "payé"

En espérant t'avoir aidé.

Last edited by thibs (05-12-2013 04:27:09)

Offline

#3 Re: Commandes annulées

(05-12-2013 09:55:36)


Pour l'envoi du mail uniquement lors du passage de la commande à l'état "payé", il faut modifier le code des plugins de paiement. Voir une solution ici: http://thelia.net/forum/viewtopic.php?pid=42676#p42676

De même, pour indiquer que la décrémentation du stock doit être effectuée lorsque la commande est payée, il faut modifier la valeur de la variable de classe defalqcmd et la mettre à 0 dans tes plugins de paiement, comme suit :

...
class MonPluginPaiement extends PluginsPaiement{

	var $defalqcmd = 0;
       ...

OpenStudio Toulouse

Offline

#4 Re: Commandes annulées

(05-12-2013 11:36:17)


Merci thibs, ca marche nikel pour l'affichage des commandes chez le client.

roadster31, j'ai lu les topic que tu m'a conseillé. On est d'accord que si j'applique la methode en page 1 ca le fait?
Enfin pour le décrémentation, ca semble déjà être prévu comme ca en fait!


www.lesogres.com

Offline

#5 Re: Commandes annulées

(05-12-2013 12:17:08)


On est d'accord que si j'applique la methode en page 1 ca le fait?

Non, ça ne marchera pas complètement, les mails de confirmation de commande partiront en plusieurs exemplaires.

Il faut appliquer la méthode que je donne dans mon message.


OpenStudio Toulouse

Offline

#6 Re: Commandes annulées

(05-12-2013 12:23:34)


Je vais essayer de me dépatouiller...
juste je copie colle? ou il faut changer des trucs genre  $this->nom_plugin
je suis pas du tout dans le dev... alors bon j'hesite toujours a faire des modif que je ne comprends pas..
mais ca va bien se passer :-)
merci


www.lesogres.com

Offline

#7 Re: Commandes annulées

(05-12-2013 12:34:42)


Au dela de ces envois de mails... est il possible de faire en sort qu'une commande non payé et donc non validée jusqu'au bout, soit tout simplement introuvable dans la bdd. Non crée quoi. que ce soit pour le client ou le vendeur. Pas besoin de polluer la bdd des commande "avortées", la solution de l'affichage est une solution, mais ca serait encore mieux que ces commandes "n'exitent pas"


www.lesogres.com

Offline

#8 Re: Commandes annulées

(05-12-2013 12:45:07)


Est il possible de faire en sort qu'une commande non payé et donc non validée jusqu'au bout, soit tout simplement introuvable dans la bdd.

Et non.

Par ailleurs, c'est comme ça que fonctionne OsCommerce et c'est une aberration en terme de développement.
Si pour une raison ou une autre la banque ne retourne pas l'info comme quoi le paiement a bien eu lieu, tu auras d'un côté la banque qui indiquera le montant qui a été payé, mais sur ta boutique aucune trace d'une éventuelle commande et donc aucun moyen simple de savoir quoi envoyer ou quoi facturer.

Il est tout de même plus simple de cacher une commande que d'empêcher son enregistrement.


Plugins : Modèles Thelia | Boucle libre | Rubriques déclinables en produits | Colissimo Access/Expert

Offline

#9 Re: Commandes annulées

(05-12-2013 12:47:12)


ah oui ca se tient !!


www.lesogres.com

Offline

#10 Re: Commandes annulées

(06-12-2013 15:52:01)


Bon je n'ai pas réussi...
En mettant les ligne de la premiere page plus aucun mail n'etaient reçus...


du coup j'ai ajouter ces lignes la dans mon payboxclass.php...
c'est ca???
Mais ou les mettre en fait, ces lignes?
moi je les ai mis ligne 34 dans la fonction PluginsPaiements apres les variables!



   

function mail($commande) {
		// Ne rien faire.
	}

	function confirmation($commande) {
		// On envoie le mail de confirmation sur paiement réussi
		// Et si c'est ce module qui a été utilisé pour le paiement
		$module = new Modules();

		if ($module->charger_id($commande->paiement) && $this->nom_plugin == $module->nom && $commande->statut == 2)
		{
			parent::mail($commande);
		}
	}

www.lesogres.com

Offline

#11 Re: Commandes annulées

(06-12-2013 20:08:01)


moi je les ai mis ligne 34 dans la fonction PluginsPaiements apres les variables

Il ne faut surtout pas modifier PluginsPaiements.class.php. Ce n'est pas nécessaire.

Modifie uniquement Paybox.class.php, où tu vas remplacer :

    
function paiement($commande){
        header("Location: " . "client/plugins/paybox/paiement.php"); exit;			
}

par

function mail($commande) {
    // Ne rien faire.
}

function confirmation($commande) {
	// On envoie le mail de confirmation sur paiement réussi
	// Et si c'est ce module qui a été utilisé pour le paiement
	if ($commande->statut == Commande::PAYE && $this->est_module_de_paiement_pour($commande))
	{
		parent::mail($commande);
	}
}

function paiement($commande){
        header("Location: " . "client/plugins/paybox/paiement.php"); exit;			
}

Et voilà.


OpenStudio Toulouse

Offline

#12 Re: Commandes annulées

(06-12-2013 22:55:49)


oh, merci beaucoup. J'ai changé ca. J'attends les retours de l'admin. Merci beaucoup!


www.lesogres.com

Offline

#13 Re: Commandes annulées

(17-12-2013 22:57:25)


Alors, ça marche ?


OpenStudio Toulouse

Offline

#14 Re: Commandes annulées

(17-12-2013 23:02:40)


Écoutes oui, visiblement... Il y'a eu une petite frayeur avec un mail étrange, mais lié à un refus de la banque je pense. Sinon, ca a l'aide d’être nickel. Merci à tous !!!


www.lesogres.com

Offline

#15 Re: Commandes annulées

(20-12-2013 15:43:22)


Rebonjour à tous,
je post ici, pour ne pas recréer de nouveau post, au cas ou qqun ai une solution.
certains utilisateur se plaignent de ne pas avoir de champ visible pour l’inscription. Quelqu'un a t- il une idée.


www.lesogres.com

Offline

#16 Re: Commandes annulées

(20-12-2013 15:48:54)


ah en fait c'etait juste une histoire de css et de couleur de texte je pense...
pardon pour le dérangement !


www.lesogres.com

Offline

#17 Re: Commandes annulées

(16-11-2017 15:17:56)


Bonjour tous,
Je viens de changer le plugin pour paybox et bien sur j'ai le problème de l'envoi de mail en double, avant et aprés le paiement.
Pour le dernier plugin de paybox, celui conernant le hmac, est-ce que le code ci-dessous est toujours de rigueur ?

roadster31 wrote:

Modifie uniquement Paybox.class.php, où tu vas remplacer :

    
function paiement($commande){
        header("Location: " . "client/plugins/paybox/paiement.php"); exit;			
}

par

function mail($commande) {
    // Ne rien faire.
}

function confirmation($commande) {
	// On envoie le mail de confirmation sur paiement réussi
	// Et si c'est ce module qui a été utilisé pour le paiement
	if ($commande->statut == Commande::PAYE && $this->est_module_de_paiement_pour($commande))
	{
		parent::mail($commande);
	}
}

function paiement($commande){
        header("Location: " . "client/plugins/paybox/paiement.php"); exit;			
}

Et voilà.

Offline

#18 Re: Commandes annulées

(21-11-2017 08:15:37)


RE

Je viens de faire le test et ça marche avec le dernier mode de paiement du C.A., Paybox.