lolymeupy Posted December 1, 2011 Share Posted December 1, 2011 Bonjour, J'ai actuellemnt le module Paypal d'installé mais je désire ajouter Mercanet. Comme je suis en mutualisé chez OVH, j'ai acheté leur "kit" Mercanet. J'ai effectué la partie "Test" sans problème, mais maintenant je dois insérer la partie script au niveau de ma boutique pour pouvoir afficher le "blocc" carte bancaire au niveau de la page des choix de paiement. En gros, le script que je dois rajouter ressemble à ça : #!/usr/local/bin/php <?php $amount = urlencode($_POST[amount]); $order_id = urlencode($_POST[order_id]); $login = 'mon_login'; $url = "http://paisec.ovh.net/~$login/mercanet/request.cgi"; $params = "?amount=$amount&order_id=$order_id"; ?> <html> <head><title>PHP test</title></head> <body> <form method=post> <table> <tr> <td>reference (order_id)</td><td><input type=text name=order_id value=<?php echo $order_id; ?> ></td> </tr> <tr> <td>total commande (amount)</td><td><input type=text name=amount value=<?php echo $amount; ?> ></td> </tr> <tr><td colspan=2><input type=submit name=refresh value=refresh></td></tr> </table> </form> <hr> <?php if($order_id != '') { $query.="$url$params"; echo " <li>url=$url<br> <li>ref=$order_id<br> <li>montant=$amount<br> <br><li>$query<br> <center> "; $myfile=file("$query"); for($index = 0; $index < count($myfile); $index++) { $form = $form . ($myfile[$index]); } } echo $form; echo "<textarea cols=120 rows=20>$form</textarea>"; ?> </center> </body> </html> (je précise que la partie HTML n'est evidement pas correcte pour afficher les différentes cartes bancaires. Je ferai la modif ensuite.) Mais donc, c'est ce que je dois insérer dans le code. Je pense (à confirmer) que ce code doit ête ajouté dans le fichier order-payment.tpl, à ce niveau ci : {if $HOOK_PAYMENT} {if !$opc}<h4>{l s='Please select your preferred payment method to pay the amount of'} <span class="price">{convertPrice price=$total_price}</span> {if $taxes_enabled}{l s='(tax incl.)'}{/if}</h4><br />{/if} {if $opc}<div id="opc_payment_methods-content">{/if} <div id="HOOK_PAYMENT">{$HOOK_PAYMENT}</div> {if $opc}</div>{/if} {else} <p class="warning">{l s='No payment modules have been installed.'}</p> {/if} mais je ne vois pas comment insérer mon code (Php + Html) au niveau de ce fichier .tpl ? Merci de votre aide Link to comment Share on other sites More sharing options...
lolymeupy Posted December 2, 2011 Author Share Posted December 2, 2011 Je viens de tester en créant un nouveau module, et en le greffant sur le HOOK payment, mais sans succès... Je suis vraiment paumé là Link to comment Share on other sites More sharing options...
luci1 Posted December 5, 2011 Share Posted December 5, 2011 Bonjour, Dans un fichier template smarty, tu peux utiliser du code php entre les balises {php}et {/php}. Link to comment Share on other sites More sharing options...
lolymeupy Posted December 5, 2011 Author Share Posted December 5, 2011 Merci de ta réponse elkastor Par contre, j'ai un autre souçi. J'ai fait un lien dans mon fichier .tpl qui redirige vers mon fichier .php Mais lorsque j'arrive sur le fichier .php, il me dit (forcément) que les variables amount et order_id sont inconnues... Et donc, comment faire pour récupérer ces variables ? J'ai essayé avec un $_SESSION, mais sans résultat non plus... Comment fait-on sous Prestashop pour récupérer le montant de la commande en cours, et l'id de la commande ? Merci beaucoup Link to comment Share on other sites More sharing options...
lolymeupy Posted December 5, 2011 Author Share Posted December 5, 2011 Dans le module Paypal, j'y ai vu ce bout de code : public function hookPayment($params){ ... $montant = number_format(Tools::convertPrice($params['cart']->getOrderTotal(true, 3),$currency),2,'.',''); Mais je ne vois pas où cette fonction est appelée, et donc je ne vois pas comment cette variable $params est remplie... ET j'ai cru lire que $cart est une variable globale ? Donc accessible dans mon script (en utilisant global $cart; en début de script) mais ça ne marche pas non plus : <?php global $cart; $amount = urlencode($cart->getOrderTotal()); ... Il me met le message d'erreur suivant : Fatal error: Call to a member function getOrderTotal() on a non-object 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