Jump to content

Pouvoir paramétrer le module "comptant à la livraison"


Recommended Posts

Bonjour,

Il est vraiment dommage de ne pas pouvoir "Configurer" ce module.

Lorsqu'on active ce module, l'option est proposée dans tous les cas.

Il faudrait au moins pouvoir limiter cette option à certains transporteurs.

Est-ce prévus dans une (très) prochaine version?

Merci d'avance

Link to comment
Share on other sites

Ca n'a pas l'air d'intéresser quelqu'un! :long:

Pourtant, croyez-moi, c'est une source de problème. Je vous assure qu'il y a beaucoup de cas ou le contre remboursement n'est pas possible. Mais cela reste une option très importante

J'insiste, par expérence, pour qu'on envisage la possibilité de filtrer cette option à partir du transporteur.

Espérant que quelqu'un passe par là... ;-)

Link to comment
Share on other sites

C'est techniquement possible, si ça tente un programmeur...


Pour activer la configuration, il suffit de rajouter un fonction getContent() dans la classe du module de paiement comptant à la livraison. Le mieux, je pense, serais de faire la liste des transporteurs avec une case à cocher/décocher devant, et un bouton de validation de la configuration. Il faudrait gérer l'inscription de la liste des transporteurs autorisés dans un emplacement de $config. Je ne sais pas si on peut mettre un Array dedans :/

L'inscription dans le hookPayment étant fait déjà, il 'suffit' de faire un test dans /modules/cashondelivery/payment.tpl pour n'afficher quelque chose que si le transporteur associé à la commande fait partit des autorisés.


Deux fichiers seulement à modifier, si quelqu'un souhaite s'y coller....

Link to comment
Share on other sites

Bonjour
Je suis également intéressé par cette idée avoir la possibilité d'avoir uniquement le pays , encore mieux les codes postaux.
Aussi non les clients choisissent cette "livraison" et puis il faut commencer des courriers pour essayer d'encaisser les frais de port vu qu'il habitent trop loin.

Amicalement

Link to comment
Share on other sites

Bonjour,

Dans la 1.1 on a ajouté dans le BO (onglet Paiement) un tableau permettant de configurer pour chaque module quelles devises sont autorisées et dans quels pays celui-ci peut-être utilisé.

Ainsi, si le client veut payer en dollar mais que le module n'autorise que l'euro, il sera obligé de payer en euros.

De même, si le client vient des USA mais que le module chèque n'est autorisé qu'en france, celui-ci ne sera pas affiché dans les moyens de paiement.

J'espère que cela vous permettra d'affiner un peu vos moyens de paiement, par contre nous n'avons rien prévu au niveau des transporteurs.

Link to comment
Share on other sites

  • 11 months later...

Bonjour

Je ressors ce message.
Je développe une boutique pour mon client (www.palmiloire.fr ouverture vers le 15 septembre.

Palmiloire a également une boutique au NIM de Nantes et donc invite ses clients nantais à venir chercher leur colis à la boutique. Et bien sûr, on propose le règlement à la livraison. Par contre, les clients qui souhaitent être livrés ou qui n'habitent pas la région, doivent payer à la commande par carte bleue.

Vu le délai, je vais faire une bidouille pour bloquer le paiement à réception lorsque le colis est expédié.

Par contre, je ne vais pas laisser trainer une verrue dans le site, et donc je vais développer quelques chose de rigoureux.
J'ai vu la solution de SotEW, mais je pense à un fonctionnement différent pour ne pas avoir à modifier tous les templates de tous les modules de paiement.

Voici la solution proposée:
Sur le back-office: Ajout dans le menu Paiement d'un onglet transporteur. Cet onglet contiendra un tableau similaire à celui des restrictions des devises avec des cases à cocher.
Sur le front-office: dans le fichier classes/module.php, fonction hookExecPayment, ajout d'une condition sur le transporteur, similaire également à celle qui existe sur les devises.
Ainsi la gestion des paiements en fonction du transporteur est bien localisée tant au BO qu'au FO.

Avant que je me lance, qu'en pensez-vous?

Xavier de La Garanderie
@stiff France

Link to comment
Share on other sites

  • 5 years later...
  • 10 months later...

J'ai trouvé mais pas encore optimisé.

 

Il faut donc ajouté ce code dans le fichier cashondelivrery/cashondelivrery.php

 

       ID_CARRIER = id des transporteur pour lequel on ne veux pas afficher le module "comptant à la livraison"

 

        if (($this->context->cart->id_carrier) == ID_CARRIER)
            return false;

 

après le code

 

public function hookPayment($params)
    {

 

et aussi

 

public function hookDisplayPaymentEU($params)
    {

 

 

Eviter de modifier votre transporteur car l'ID change à chaque enregistrement...

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

alexandrieb MERCI BEAUCOUP  :) 

Je cherche à ne plus proposer le paiement comptant à la livraison lors du choix de l'envoi par transporteur.

Tout en le proposant pour les retraits en boutique ou les livraisons par mes soins.

Et bien ta solution fonctionne à merveille.

 

Ce serait bien que les prochaines versions de prestashop le propose dans le BO.

 

PS: si tu as une solution pour modifier le module parrainage en ne créditant le parrain que losr de la 1ére commande du filleul  :D 

Link to comment
Share on other sites

dans la fonction hookPayment du module, ajoutez ceci au début:

		if($id_carrier = (int)$params['cart']->id_carrier) {

			$carrier = new carrier($id_carrier);
			if(!$carrier->is_free)
				return false;
		}

Si le client a chois l'enlèvement au magasin, le transporteur est gratuit et donc le module n’apparaîtra que dans ce cas là :)

Link to comment
Share on other sites

  • 2 months later...
  • 1 month 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...