Aide - Recherche - Membres - Calendrier
Version complète : [RÉGLÉ] Déterminé un moyen de paiement selon un produit
Forum osCommerce-fr > Adapter OsCommerce MS2 > Modules de Paiement et de Livraison
Vincent Valentine
Bonsoir, c'est encore moi (3ème sujet en moins de 2 jours) ...

J'ai une question (bête peut être) : comment peut-ton déterminer un moyen de paiement en fonction d'un produit ou d'une catégorie.

Explication : je créer un site qui vend peu de produit, 15 en tout, dont 1 gratuit. C'est un site promotionnel pour la sortie d'un livre, juste d'un seul livre. Donc, on vend le livre sous forme papier, paiement par chèque ou Paypal ok.

Et aussi sous forme numérique par chapitre (c'est un essai politique donc c'est lisible dans le désordre, on propose l'intro en pdf gratuitement.). Sauf que je voudrai limité le paiement à Paypal pour les chapitre numérique. Si le client choisit "chèque", il est dirigé vers la fin de la procédure avec le liens de téléchargement du fichier ... et cela, sans avoir envoyé le chèque ! Et puis, un chèque pour 2€, c'est stupide...

Donc, je suppose qu'il faut modifier du code, mais je ne sais pas où et mes faible connaissances en PHP me permette de comprendre ce que je fais lorsque je suis un tuto ou procédure, mais pas de trouvé par moi même la solution ....

Est-ce que quelqu'un accepterai de m'aider svp ?

J'ai suivi ce topic mais ça ne réponds pas tout à fait à mes besoins : http://www.oscommerce-fr.info/forum/index....showtopic=67937 Cependant il y a une idée proche.
taiko
salut

et pourquoi pas installer allopass pour les paiements en téléchargement.

et paypal oui c'est bien pour les paiements pas élevé non.

A+
FoxP2
oscommerce intègre tout le nécessaire à ta problématique.

au niveau back-office, il faut autoriser les produits en téléchargement :
admin->menu configuration->telechargement->autoriser les téléchargement sur true/vrai/oui

prendre l'exemple sur le produit Unreal Tournament (géré dans les attributs produits)

ensuite, pour désactiver un moyen de paiement avec un produit 'virtual', prendre exemple sur le fichier catalog\includes\modules\payment\cod.php :

dans la méthode upadte_status, c'est cette instruction qui désactive le module :

Code
// disable the module if the order only contains virtual products
      if ($this->enabled == true) {
        if ($order->content_type == 'virtual') {
          $this->enabled = false;
        }
      }
    }

annotation :

il te faudra peut être un peu affiner les choses pour prendre tous les cas de figure en compte :
le content_type peut varier en 3 cas :
'physical' : je n'ai dans mon panier aucun produit en téléchargement. (livre version papier)
'virtual' : je n'ai dans mon panier que des produits en téléchargement.
'mixed' : j'ai dans mon panier 1 produit physique (livre version papier) + au moins un produit en téléchargement

pour éviter de te retrouver dans le même type de fraude, je te suggère de désactiver aussi tes moyens de paiement ciblés en cas de panier mixé :

Code
        if ($order->content_type == 'virtual' || $order->content_type == 'mixed') {


voilà pour le côté technique.

quand à la suggestion allopass, je ne suis pas certain que le pourcentage de prélèvement soit moins élevé que celui de paypal.
Vincent Valentine
Non merci pour Allopass, Paypal est je pense plus commun. Et perso, au niveau des frais, je m'en fous, c'est pas moi qui paie ^^

Merci, je vais tester cette méthode rapidement. Dès que ça marche (ou que j'ai un soucis) je reviens.
Tant que j'y suis, par hasard, t'aurais pas une solution à un autre de mes problème ? Sujet ici : http://www.oscommerce-fr.info/forum/index....showtopic=69129
Vincent Valentine
Bonjour,
j'ai essayé mais je ne comprends pas le fonctionnement. En faite, je ne comprends pas ce que je dois changer pour que cela désactive le module de paiement.
J'ai exactement le même code que tu m'a fournis, donc aucun modif à faire.
J'ai bien activer mes produit en téléchargement.

Et après ?

Merci de ton aide.


Edit : Fausse alerte, je viens de comprendre que le fichier cod.php ne correspond pas au paiement par chèque .... Donc, ok, j'ai compris, modifier et ça marche ! Super !
Un grand merci !! smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.