bdesprez Posted October 28, 2014 Share Posted October 28, 2014 English : Hi everyone, I'm quite new in Prestashop and I have to develop a new module for my company. This module will permit to communicate with a back-office application. In Prestashop I have some payment modules and I'ld like to get the list of payment methods to configure my module. I have to do a mapping between Prestashop payment and my application. To do that, I would like to add at my configuration page some inputs. 1 select by payment method in prestashop and 1 input text to specify the payment method code of my application. So, is it possible to get the list of payment methods ? And how to get it ? Français : Salut tout le monde, Je suis un petit nouveau sur Prestashop et je dois développer un nouveau module pour ma société. Ce module permettra à Prestashop de communiqer avec une application existante. Dans Prestashop, j'ai plusieurs moyens de paiement et j'aimerai obtenir cette liste de moyen de paiement afin de configurer mon module. Je dois réaliser un mapping entre les moyens de paiement Prestashop et ceux de l'application existante. Pour ce faire, j'aimerais ajouter à ma page de configuration quelques input. 1 select par moyen de paiement Prestashop et 1 champs texte pour spécifier le moyen de paiment de l'applicatio nexistante. Donc, est-il possible d'obtenir cette liste de moyen de paiement? Et comment faire ? Link to comment Share on other sites More sharing options...
bdesprez Posted October 29, 2014 Author Share Posted October 29, 2014 English: OK, I think I found something ... I have the list of payment modules : PaymentModule::getInstalledPaymentModules(). Now I have to get text used to define the payment method in orders ... I have found Configuration::get('PS_OS_BANKWIRE') for the module BANKWIRE and Configuration::get('PS_OS_CHEQUE') for the module CHEQUE. My question is : can I generate the name of configuration element as : 'PS_OS_' . strtoupper($module->name)? Français : OK, je pense avoir trouvé quelque chose d'intéressant ... J'ai réussi à récupérer la liste des modules de paiement grâce à : PaymentModule::getInstalledPaymentModules(). Maintenant je dois récupérer le texte qui est utilisé pour définir le moyen de paiment dans une commande ... J'ai trouvé Configuration::get('PS_OS_BANKWIRE') pour le module BANKWIRE et Configuration::get('PS_OS_CHEQUE') pour le module CHEQUE. Ma question est la suivante : Puis-je générer le nom de la constante comme suit : 'PS_OS_' . strtoupper($module->name) ? Link to comment Share on other sites More sharing options...
bdesprez Posted October 29, 2014 Author Share Posted October 29, 2014 English: If someone else has the same need... I think I found the solution (of my problem). Payment modules redefine the method validateOrder with payment in 4th position. And for paiment modules I saw, this is the 'displayName' of the module. For my mapping, I loop on PaymentModule::getInstalledPaymentModules() and I get displayName of each... Français : Si cela peut interreser, je pense avoir trouvé la solution. Les modules de paiements rencontrés fonctionnent de manière similaire. Ils appellent la méthode module->validateOrder avec le moyen de paiement en 4ème attribut de méthode. Ce moyen de paiement est renseigné avec le 'displayName' du module. Pour mon mapping, je récupère donc la liste des modules de paiement PaymentModule::getInstalledPaymentModules() et je récupère le 'displayName' de chaque module. Link to comment Share on other sites More sharing options...
polykodesas Posted October 21, 2015 Share Posted October 21, 2015 Merci pour ce post, je cherchait comment faire cela et je suis tomber sur ta solution :-) Link to comment Share on other sites More sharing options...
polykodesas Posted October 21, 2015 Share Posted October 21, 2015 Bonjour merci pour ce post qui m'a beaucoup aider. Voila une petit bout de code qui listes les moyen de paiement sur Presta 1.6.X (en dessous pas testé) $mode_de_paiement = array(); $modules_list = Module::getPaymentModules(); foreach($modules_list as $module) { $module_obj = Module::getInstanceById($module['id_module']); array_push($mode_de_paiement, $module_obj->displayName); } p($mode_de_paiement); 1 1 Link to comment Share on other sites More sharing options...
polykodesas Posted October 21, 2015 Share Posted October 21, 2015 Bonjour merci pour ce post qui m'a beaucoup aider. Voila une petit bout de code qui listes les moyen de paiement sur Presta 1.6.X (en dessous pas testé) $mode_de_paiement = array(); $modules_list = Module::getPaymentModules(); foreach($modules_list as $module) { $module_obj = Module::getInstanceById($module['id_module']); array_push($mode_de_paiement, $module_obj->displayName); } p($mode_de_paiement); Link to comment Share on other sites More sharing options...
polykodesas Posted October 21, 2015 Share Posted October 21, 2015 Bonjour merci pour ce post qui m'a beaucoup aider. Voila une petit bout de code qui listes les moyen de paiement sur Presta 1.6.X (en dessous pas testé) $mode_de_paiement = array(); $modules_list = Module::getPaymentModules(); foreach($modules_list as $module) { $module_obj = Module::getInstanceById($module['id_module']); array_push($mode_de_paiement, $module_obj->displayName); } p($mode_de_paiement); désolé pour les 3 post, j'avais erreur 500 je pensais que ce n'était pas passé ;-) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now