Jump to content

Payement par mandat cash


pitasec

Recommended Posts

  • 2 weeks later...

Bonjour,

 

ce que j'ai fait et ça semble presque bon pour la presta 097:

 

- copier le dossier " cheque " qui ce touve dans presta/modules.

- coller-le et remplacer le nom par " mandat ".

- dans votre nouveau dossier " mandat ", modifier les nom de fichiers php, tpl "cheque" par "mandat".

- changer l'image existante par une nouvelle que vous nommez mandat.jpg

- modifier tous les mots "cheque" dans les fichiers php et tpl par "mandat" en respectant les miniscules et majuscules :

 

exemple : $chequeName par $mandatName, displayCheque par displayMandat, CHEQUE_NAME par MANDAT_NAME...

 

- ouvrez le fichier PaymentModule.php dans presta/classes et ajouter ce code :

 

après :

 

/* Next ! */
if ($result AND isset($order->id))
{
/* Set order state in order history */

 

ajoutez :

 

if ($id_order_state == _PS_OS_MANDAT_)
$data_history =  array(
'{mandat_name}' => Configuration::get('MANDAT_NAME'),
'{mandat_address}' => Configuration::get('MANDAT_ADDRESS'),
'{mandat_address_html}' => nl2br(Configuration::get('MANDAT_ADDRESS')));

 

- copiez les fichier cheque.html et cheque.txt dans presta/mails/fr

- collez-les et remplacez les noms par mandat.html et mandat.txt

- remplacez de nouveau les mots "cheque" par "mandat" en respectant les miniscules et majuscules

 

je ne peux pas mettre à disposion les fichiers car il y a trop de transformation sur mes fichiers..

 

sinon ça semble presque bon mais j'ai un code erreur à la confirmation de commande :

 

Hack attempt (OrderHistory->id_order_state is empty)

 

pour info dans l'historique de mon compte il n'y a pas trace de mandat

et dans les détails j'ai bien le mode de paiement par mandat mais aucun produit n'a été pris en compte dans la commande.

 

un grans coup de pouce est le bienvenue !

 

à bientôt...

Link to comment
Share on other sites

Bonjour,

 

alors en cherchant encore j'ai trouvé une ligne que j'ai oublié d'ajouter :

 

- dans le fichier presta/config/config.inc.php j'ai ajouter une ligne de code :

 

après :

/* Order states */

 

mettre :

 

define('_PS_OS_MANDAT_', 11);

 

maintenant j'ai un nouveau message qui s'affiche :

 

plop1

 

ce message envoi au fichier presta/modules/blockbestsellers/blockbestsellers.php

et voici le morceau de code :

 

public function hookUpdateOrderStatus($params)
{
if (!Validate::isLoadedObject($params['newOrderStatus']))
die (Tools::displayError('plop1'));
$oldOrderStatus = OrderHistory::getLastOrderState(intval($params['id_order']));
if ($oldOrderStatus AND !Validate::isLoadedObject($oldOrderStatus))
die (Tools::displayError());

 

donc une aide est un plus pour résoudre cette recherche...

Link to comment
Share on other sites

Bonjour,

 

on approche du résolu en tout cas pour les testes en local !!

 

- allez dans l'administration de votre site sur "commandes"

- puis allez dans "Statuts des commandes"

- puis allez sur "nouveau"

- dans nom ajouter attente mandat par exemple, choisir une icone, couleur lightblue et selectioner d'envoyer un mail au client

- enregitrez

 

et voilà c'est fini et ça marche en local

 

il ne reste plus qu'à tester sur hebergeur, je test ça demain !

 

si ça marche je demande à pitasec de mettre un résolu !

 

à bientôt...

Link to comment
Share on other sites

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...