Johann974 Posted December 29, 2013 Share Posted December 29, 2013 Bonjour à tous, Je suis en train de créer un module de paiement prestashop 1.5 et je me retrouve bloqué car je ne sais pas comment mettre à jour la commande du client dans le BO de Prestashop après que son paiement soit validé . Je souhaiterais avoir un peu d’aide concernant un script php permettant de faire cette mise à jour. Dans mon cas, pour que mon paiement soit validé je dois avoir ma variable $vadorder== « 00 ». La mise à jour de cette variable s’effectue grâce à la méthode POST. Ce qui me donne : < ?php $vadorder=$_POST[« vads_order »] ; If($vadorder== « 00 ») { Script de mis à jour de la commande client dans le BO de prestashop ; } ?> N’hésitez pas à me demander plus d’infos si je n’ai pas été très clair. D’avance merci pour votre aide , Link to comment Share on other sites More sharing options...
Johann974 Posted December 30, 2013 Author Share Posted December 30, 2013 Personne ne sait comment faire?? Link to comment Share on other sites More sharing options...
2FR3 Posted December 30, 2013 Share Posted December 30, 2013 Ben faut lancer une requete en base de données ^^ ou j'ai mal compris la question ... Link to comment Share on other sites More sharing options...
Johann974 Posted December 30, 2013 Author Share Posted December 30, 2013 En faite il me faut juste un moyen d'enregistrer la commande de mon client et de mettre le status de celle -ci "en attente de paiment" dans le BO après que le paiement est été initié. Link to comment Share on other sites More sharing options...
2FR3 Posted December 30, 2013 Share Posted December 30, 2013 Pourquoi tu t'inspires pas des nombreux modules de paiement gratuits? La solution est dedans, c'est sure. 1 Link to comment Share on other sites More sharing options...
ckarone Posted December 30, 2013 Share Posted December 30, 2013 (edited) Pour la version 1.4 voici le code qui valide un panier en commande si la validation return un OK ou en pas: if ($response[0] == 1) $authorizeaim->validateOrder((int)$cart->id, Configuration::get('PS_OS_PAYMENT'), (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key); else $authorizeaim->validateOrder((int)$cart->id, Configuration::get('PS_OS_ERROR'), (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key); C'est le code du module Authorizeaim à modifier suivant votre code. Ckarone Edited December 30, 2013 by ckarone (see edit history) 1 Link to comment Share on other sites More sharing options...
Johann974 Posted December 30, 2013 Author Share Posted December 30, 2013 Bonjour ckarone, Je te remercie pour ta réponse, je vais tester tout ça et je reviens dès que c'est ok pour moi. Link to comment Share on other sites More sharing options...
Johann974 Posted December 31, 2013 Author Share Posted December 31, 2013 Bonjour, J'ai un fichier qui s'appel paymentmerch3.php, indépendant du module de paiment prestashop. Après vérification de mon cartId dans la base de donnée => 16 et du montant de la commande => 162 , j’exécute le code ci dessous et pourtant rien ne fonctionne. Ai je oublié de déclarer quelque chose? <?php require_once dirname(dirname(dirname(__FILE__))) . '/config/config.inc.php'; require_once dirname(dirname(dirname(__FILE__))) . '/init.php'; $id_cart=16; $id_state=2; $amount=162; $type="carte bleue"; $message="test"; PaymentModule::validateOrder($id_cart,$id_state,$amount,$type,$message); ?> J'ai un module qui permet de valider les panier après paiement et qui fonctionne avec ces même paramètre. Peut être le fait que le script soit executer de le module même, ce qui n'est pas mon cas pour mon problème ci dessus. D'avance merci Link to comment Share on other sites More sharing options...
ckarone Posted December 31, 2013 Share Posted December 31, 2013 (edited) Non, Lorsque tu appels la méthode validateOrder de la classe PayementModule.php, tu dois lui donner dans un ordre précis les paramètres suivant: validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false, $secure_key = false) De plus il faudra aussi pensez au cas d'un retour négatif et conditionner la validation <?php require_once dirname(dirname(dirname(__FILE__))) . '/config/config.inc.php'; require_once dirname(dirname(dirname(__FILE__))) . '/init.php'; $id_cart=16; $id_state=2; $amount=162; $type="carte bleue"; $message="test"; if ($response== 1) $tonmodule->validateOrder((int)$id_cart, Configuration::get('PS_OS_PAYMENT'), (float)$response[9], $type, $message, NULL, NULL, false, $customer->secure_key); else $tonmodule->validateOrder((int)$id_cart, Configuration::get('PS_OS_ERROR'), (float)$response[9], $type, $message, NULL, NULL, false, $customer->secure_key); ?> Un peu de lecture pour comprendre le principe de la POO et l'appliquer http://jcrozier.developpez.com/tutoriels/web/php/programmation-orientee-objet/ http://fr.scribd.com/doc/3774696/PHP-POO-fr-avec-exemples Pardon mais faire un module comme celui-ci n'est pas simple et demande pas mal de précautions/sécurité le mieux et de s'inspirer d'un module fonctionnel dans le pire des cas et d'acheter le module fini pour ne pas perdre trop de temps en dev dans le meilleur des cas. Bon courage! Ckarone Edited December 31, 2013 by ckarone (see edit history) 1 Link to comment Share on other sites More sharing options...
SleT Posted December 31, 2013 Share Posted December 31, 2013 Ckarone J'espère surtout que c'est pour lui et pas pour un autre client, parce qu'une erreur de sécurité pourrait quand même être lourde de conséquence... Si je peux me permettre, fais toi la main sur d'autres modules ou d'autres développements avant ou pendant et n'hésite pas à demander quand tu as besoin de précision. 1 Link to comment Share on other sites More sharing options...
Johann974 Posted December 31, 2013 Author Share Posted December 31, 2013 En tout cas merci à tous!!! ça fait plaisir d'avoir autant d'aide... Je vais tester tout ça après la fête du nouvel an. A l'Ile de la Réunion ça commence déjà donc je vous souhaite une excellent réveillons et un bonne année 2014 et je vous tiens au courant concernant mon avancement sur ce module de paiement!! A++ 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