Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Modules de Paiement et de Livraison _ Virement

Écrit par : pticoq 28 Jan 2008, 09:22

Bonjour
Ou puis-je trouver un module de paiement par virement et comment l'installer??
Merci de votre aide!

Écrit par : guinnessboy 28 Jan 2008, 09:38

Salut, en haut de la page dans l'onglet contribes...

Pour l'installation c'est expliqué dans la package et c'est tout simple. En plus sur ce forum il y a un post avec le code que j'ai modifié pour sélectionner la zone pour laquelle on accepte ce mode de paiement.




Écrit par : pticoq 28 Jan 2008, 10:48

Merci, vais essayer de faire ca!!! wink.gif

Écrit par : c.direct 28 Jan 2008, 12:23

Bonjour,

moi j'ai installé cette contribution ...

ce code à mettre dans le module de paiement
<?php

/*

$Id: virementbancaire.php,v 1 2003/04/30

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

[u] Copyright © 2002 osCommerce

Released under the GNU General Public License

*/

class virementbancaire {

var $code, $title, $description, $enabled;

// class constructor

function virementbancaire() {

global $order;

$this->code = 'virementbancaire';

$this->title = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_TITLE;

$this->description = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION2;

$this->email_footer = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_EMAIL_FOOTER;

$this->sort_order = MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER;

$this->enabled = ((MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS == 'True') ? true : false);

if ((int)MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS_ID > 0) {

$this->order_status = MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID;

}

if (is_object($order)) $this->update_status();

}

// class methods

function update_status() {

global $order;

if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE > 0) ) {

$check_flag = false;

$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");

while ($check = tep_db_fetch_array($check_query)) {

if ($check['zone_id'] < 1) {

$check_flag = true;

break;

} elseif ($check['zone_id'] == $order->billing['zone_id']) {

$check_flag = true;

break;

}

}

if ($check_flag == false) {

$this->enabled = false;

}

}

}

function javascript_validation() {

return false;

}

function selection() {

return array('id' => $this->code,

'module' => $this->title);

}

function pre_confirmation_check() {

return false;

}

function confirmation() {

return array('title' => MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION);

}

function process_button() {

return false;

}

function before_process() {

return false;

}

function after_process() {

return false;

}

function get_error() {

return false;

}

function check() {

if (!isset($this->_check)) {

$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS'");

$this->_check = tep_db_num_rows($check_query);

}

return $this->_check;

}

function install() {

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Permet le paiement par transfer bancaire', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS', 'True', 'Voulez-vous accepter les ordre de virement bancaire?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Numero IBAN', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', '0000-0000-0000-0000-0000-0000-000', 'Numero IBAN au format xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxx', '6', '1', now());");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('ordre de tri', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER', '0', 'ordre de tri pour l\'affichage (Le plus petit nombre est montrer en premier).', '6', '0', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('No. du compte bancaire', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', '12345678', '', '6', '1', now());");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Etat de la commande', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID', '0', 'Sélectionner l\'état de la commande que vous voulez par défault.', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Titulaire du compte', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'Joe Lagrenouille', '', '6', '1', now());");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Nom et domiciliation de la Banque', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'la Banque', '', '6', '1', now());");

}

function remove() {

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS'");

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN'");

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM'");

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM'");

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM'");

}

function keys() {

$keys = array('MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER');

return $keys;

}

}

?>

Ce code dans langages/french

<?php

/*

$Id: virementbancaire,v 1.0 2003/04/30



osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com



Copyright © 2002 osCommerce



Released under the GNU General Public License

Based on Ausbank.php ; adapted/translated in French by Gelong Shenphen

*/



define('MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'xxxxxx');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', 'xxxxxx');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', 'xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxx');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'Votre banque');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_TITLE', 'Paiement par Virement Bancaire');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION', '<BR>Utilisez les informations suivantes pour effectuer le virement de la somme totale de votre commande:<br><br>No de compte: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM . '<BR>NumÈro IBAN: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN . '<BR>Nom du compte: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM . '<BR>Nom et domiciliation de la banque: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM . '<br><br>Votre commande sera postÈe ‡ rÈception de votre paiement.');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION2', 'Gestion des coordonnÈes bancaires pour virement');

define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_EMAIL_FOOTER', "Utilisez les informations suivantes pour effectuer le virement de la somme totale de votre commande:\n\nNo du compte: " . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM . "\nNo IBAN: " . MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN . "\nTitulaire du compte: " . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM . "\nNom et domiciliation de la banque: " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM . "\n\nVotre commande sera postÈe ‡ rÈception de votre paiement.");

?>

il faut juste modifier quelques textes ( ex Numero IBAN ) Le code IBAN c'est pour accepter des virements hors de France
il faut changer pour adapter pour un virement fait en France...

voila rien de compliqué

bon courage ...

Écrit par : platine 28 Jan 2008, 16:32

Utilise plutôt la contribe -> http://www.oscommerce.com/community/contributions,1217/category,all/search,Bank+Transfer

Écrit par : Djemai 27 Mar 2008, 23:48

Bonsoir
Juste une question:
Pour quoi dans cette contribution le BIC né pas??
Merci excl.gif

Écrit par : Marginata 1 Apr 2008, 16:00

Je réagis par rapport au message juste au dessus car moi aussi je m'interroge à ce sujet...

Il manque effectivement le BIC et la clef RIB ... c'est normal ? ma banque m'a toujours demandé cette clef donc je m'interroge.

Merci pour vos réponses.

Écrit par : zardhoz 4 Apr 2008, 15:03

---message supprimé ---

Écrit par : amanda 6 Apr 2008, 11:15

personnellement j'utilise la contrib moneyorder que vous avez de base dans la MS2 et que j'ai modifiée pour pouvoir transmettre en texte les valeurs nécessaire au virement.
J'utilise cette solution pour trois raisons :
1- pour pouvoir donner les coordonnées bancaires de mon compte belge pour mes clients nationnaux.
2- pour transmettre les coordonnées bancaire de mon compte Français aux clients Français (car pour certain, en fonction de leur organisme, un virement européen (iban - bic) reste payant.
3- et pour les autres mes coordonnées IBAN + BIC

Le client, en fonction de son pays, choisi la meilleure solution qui lui convient.

Beaucoup plus simple. rolleyes.gif

Écrit par : zardhoz 8 Apr 2008, 18:32

Comme je ne pouvais pas mettre mon code dans mon post précédent j'en recréé un nouveau (étrange cette histoire d'ailleurs shock.gif ).

Donc pour ceux que ça intéresse, j'ai modifié le code de virementbancaire1.2 pour y intégrer plus de renseignement tels que BIC, RIB et plus encore.

catalog\includes\modules\payment\virementbancaire.php:

CODE
<?php
/*
  $Id: virementbancaire.php,v 1.3 05/04/2008
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com
  Copyright (c) 2002 osCommerce
  Released under the GNU General Public License
  Based on Ausbank.php; adapted/translated in French by Gelong Shenphen
*/
  class virementbancaire {
    var $code, $title, $description, $enabled;
// class constructor
    function virementbancaire() {
      global $order;
      $this->code = 'virementbancaire';
      $this->title = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_TITLE;
      $this->description = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION2;
      $this->email_footer = MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_EMAIL_FOOTER;
      $this->sort_order = MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER;
      $this->enabled = ((MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS == 'True') ? true : false);
      $this->order_status = MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID;

      if (is_object($order)) $this->update_status();
    }
// class methods
    function update_status() {
      global $order;
      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE > 0) ) {
        $check_flag = false;
        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
        while ($check = tep_db_fetch_array($check_query)) {
          if ($check['zone_id'] < 1) {
            $check_flag = true;
            break;
          } elseif ($check['zone_id'] == $order->billing['zone_id']) {
            $check_flag = true;
            break;
          }
        }
        if ($check_flag == false) {
          $this->enabled = false;
        }
      }
    }
    function javascript_validation() {
      return false;
    }
    function selection() {
      return array('id' => $this->code,
                   'module' => $this->title);
    }
    function pre_confirmation_check() {
      return false;
    }
    function confirmation() {
      return array('title' => MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION);
    }
    function process_button() {
      return false;
    }
    function before_process() {
      return false;
    }
    function after_process() {
      return false;
    }
    function get_error() {
      return false;
    }
    function check() {
      if (!isset($this->_check)) {
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS'");
        $this->_check = tep_db_num_rows($check_query);
      }
      return $this->_check;
    }
    function install() {
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Permet le paiement par virement bancaire', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS', 'True', 'Voulez-vous accepter les virements bancaires?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('No de compte', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', '11111111111', '11 chiffres', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Clef RIB', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB', '12', '2 chiffres', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('IBAN', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', '0000-0000-0000-0000-0000-0000-000', 'Numero IBAN au format xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxx', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('BIC (virement SWIFT)', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC', 'ABCDEFGH123', 'ABCDEFGH123', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Titulaire du compte', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'Joe Lagrenouille', '', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Nom de la Banque', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'Nom de la Banque', '', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Domiciliation de la Banque', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM', 'Domiciliation de la Banque', '', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Code banque', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE', '12345', '5 chiffres', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Code guichet', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET', '12345', '5 chiffres', '6', '1', now());");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('ordre de tri', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER', '0', 'ordre de tri pour l\'affichage (Le plus petit nombre est montrer en premier).', '6', '0', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Etat de la commande', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID', '0', 'Sélectionner l\'état de la commande que vous voulez par défault.', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
   }
    function remove() {
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE'");
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET'");
    }
    function keys() {
      $keys = array('MODULE_PAYMENT_VIREMENT_BANCAIRE_STATUS', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ZONE', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_ORDER_STATUS_ID', 'MODULE_PAYMENT_VIREMENT_BANCAIRE_SORT_ORDER');
      return $keys;
    }
  }
?>


catalog\includes\languages\french\modules\payment\virementbancaire.php (à traduire si vous travailler avec d'autres langues, je ne me suis occupé que du Français):

CODE
<?php
/*
  $Id: virementbancaire.php,v 1.3 05/04/2008
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com
  Copyright (c) 2002 osCommerce
  Released under the GNU General Public License
  Based on Ausbank.php; adapted/translated in French by Gelong Shenphen  
*/

  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_TITLE', 'Virement Bancaire');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM', '11111111111');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB', '12');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN', '0000-0000-0000-0000-0000-0000-000');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC', 'ABCDEFGH123');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM', 'Joe Lagrenouille');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM', 'Nom de la Banque');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM', 'Domiciliation de la Banque');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE', '12345');
  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET', '12345');

  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION', '<BR>Utilisez les informations suivantes pour effectuer le virement de la somme totale de votre commande:<br><br>No de compte: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM . '<BR>Clef RIB: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB . '<BR>IBAN: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN . '<BR>BIC (virement SWIFT): ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC . '<BR>Titulaire du compte: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM . '<BR>Nom de la banque: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM . '<BR>Domiciliation de la banque: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM . '<BR>Code banque: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE . '<BR>Code guichet: ' . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET . '<br><br>Votre commande sera validée à réception de votre paiement.');

  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_DESCRIPTION2', 'Gestion des coordonnées bancaires pour virement');

  define('MODULE_PAYMENT_VIREMENT_BANCAIRE_TEXT_EMAIL_FOOTER', "Utilisez les informations suivantes pour effectuer le virement de la somme totale de votre commande:\n\nNo du compte:  " . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNUM . "\nClef RIB:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB . "\nIBAN:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_IBAN . "\nBIC (virement SWIFT):    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BIC . "\nTitulaire du compte: " . MODULE_PAYMENT_VIREMENT_BANCAIRE_ACCNAM . "\nNom de la banque:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKNAM . "\nDomiciliation de la banque:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKDOM . "\nCode banque:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKCODE . "\nCode guichet:    " . MODULE_PAYMENT_VIREMENT_BANCAIRE_BANKGUICHET . "\n\nVotre commande sera validée à réception de votre paiement.");
?>


Zardhoz

Écrit par : Djemai 8 Apr 2008, 22:30

Slt ZARDHOZ
J'ai ajouté la contrib que tu a modifier. ça fonctionne pas male.
Mes pour info sur le numéro du compte il y bien la Clé RIB Code guichet code Etablissement !! pour quoi les rajouté en plus?
Mes c'est sympa la modif Merci

Écrit par : Djemai 8 Apr 2008, 22:39

dit zardhoz
Pour quoi pas metre le numéro de commande sur cette ligne:
define('MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB', '90');
ça serai plus simple pour la banque car a chaque fois il demande (l'objet du virement) !!
ça vas aranger pas male de monde que pense tu??
Amicalement Djemai

Écrit par : zardhoz 9 Apr 2008, 07:17

CITATION(Djemai @ 8 Apr 2008, 23:30) [snapback]276844[/snapback]
Slt ZARDHOZ
J'ai ajouté la contrib que tu a modifier. ça fonctionne pas male.
Mes pour info sur le numéro du compte il y bien la Clé RIB Code guichet code Etablissement !! pour quoi les rajouté en plus?
Mes c'est sympa la modif Merci

C'est vrais mais tout le monde ne le sait pas, comme ça pas d'ambiguïté, tout y est tongue.gif

CITATION(Djemai @ 8 Apr 2008, 23:39) [snapback]276847[/snapback]
dit zardhoz
Pour quoi pas metre le numéro de commande sur cette ligne:
define('MODULE_PAYMENT_VIREMENT_BANCAIRE_RIB', '90');
ça serai plus simple pour la banque car a chaque fois il demande (l'objet du virement) !!
ça vas aranger pas male de monde que pense tu??
Amicalement Djemai

J'y réfléchis mais ce n'est pas si simple, on ne peux pas définir en "dur" le numéro de commande wink.gif

Peut-être avec un <?php echo $orders['orders_id']; ?> ... Je vais faire quelques tests.

Zardhoz

Écrit par : delete 9 Apr 2008, 08:06

Et bien ne cherche pas plus, ce n'est pas possible.

Le numéro de la commande est généré après la page choix du règlement (dans checkout_process en l'occurrence).

Tu ne peux donc que l'envoyer par mail ou le faire apparaitre sur checkout_success

Écrit par : zardhoz 9 Apr 2008, 12:32

CITATION(delete @ 9 Apr 2008, 09:06) [snapback]276871[/snapback]
Et bien ne cherche pas plus, ce n'est pas possible.


N'en parlons plus tongue.gif

Écrit par : amanda 9 Apr 2008, 22:13

Après avoir essayé ton code, j'ai changé mon fusil d'épaule et l'ai adopté.
je pense le doublé pour en faire un compatible Belgique et ajouté une condition d'affichage selon le pays.

Merci pour ton code ... super travail.

Écrit par : N.Serge 26 Oct 2009, 14:54

Bonjour,

Je viens de me rendre compte que pour certaines commandes dont le paiement est fait par virement bancaires que mon stock ne se modifie pas, est-ce normal, et avez vous eu déjà le cas ??,

Merci d'avance

Serge

Écrit par : chti_poupon 9 Nov 2009, 16:30

Bonjour!
Pour mon compte, mon banquier m'ayant déconseillé de laisser traîner mes références bancaires "all around the world" sous des yeux inconnus et pas forcément bien intentionnés, j'ai décidé de l'envoyer avec le courriel de confirmation de commande. Donc avec les références (n° de commande .....) sous les yeux du client.
J'ai ensuite (shadock quand tu nous tiens) pompé moneyorder (Chèque: c'est différé comme le virement), dans catalog/includes/modules
mis "d'après moneyorder dans l'en-tête GNU" et la date. Et remplacé partout "moneyorder" par "virement" à l'éditeur de texte (Minuscules et majuscules).
J'ai ensuite inséré quelques lignes dans catalog/checkout_process.php:

Code
     $email_order .= $order->info['payment_method'] . "\n\n";
//bof Ajout IBAN / BIC en cas de virement
       if ($order->info['payment_method'] == (MODULE_PAYMENT_VIREMENT_TEXT_TITLE))
       {
         $email_order .= EMAIL_TEXT_VIREMENT."\n\n". EMAIL_TEXT_ACCOUNT_OWNER."\n" .EMAIL_TEXT_IBAN."\n\n".EMAIL_TEXT_BIC. "\n\n" .EMAIL_SEPARATOR ."\n";
       }
//eof Ajout IBAN / BIC en cas de virement
     if ($payment_class->email_footer) {


et ajouté les commentaires 'in french language' dans catalog/includes/languages/french/checkout_process.php:
Code
//bof Ajout IBAN / BIC en cas de virement
define('EMAIL_TEXT_VIREMENT','Pour votre règlement par virement, nos coordonnées bancaires :');
define('EMAIL_TEXT_ACCOUNT_OWNER','Titulaire du compte: nom du titulaire');
define('EMAIL_TEXT_IBAN','Notre IBAN International : <u>| xxxx | xxxx| xxxx| xxxx| xxxx| xxxx| xxxx|</u>');
define('EMAIL_TEXT_BIC','Notre BIC (identification Banque) : <u>| XXXXXXXX |</u>');
//eof Ajout IBAN / BIC en cas de virement


et crée dans catalog/includes/languages/french/modules/payment/
en pompant (pas honte) comme précédemment moneyorder et en remplaçant pareil "moneyorder" par "virement" partout avec les textes adaptés, ce qui donne:
Code
   define('MODULE_PAYMENT_VIREMENT_TEXT_TITLE', 'Paiement par virement');
   define('MODULE_PAYMENT_VIREMENT_TEXT_DESCRIPTION', 'Etablir le virement à l\'ordre de :
' . nl2br(STORE_OWNER) . '

' . MODULE_PAYMENT_VIREMENT_PAYTO . '

Votre commande sera trait&eacute;e d&egrave;s r&eacute;ception et identification du r&egrave;glement.');
   define('MODULE_PAYMENT_VIREMENT_TEXT_EMAIL_FOOTER', 'Etablir le virement à l\'ordre de : ' . STORE_OWNER . '

'. MODULE_PAYMENT_VIREMENT_PAYTO . '

' . 'Votre commande sera trait&eacute;e d&egrave;s r&eacute;ception du r&egrave;glement.');


C'est pas très fin, mais çà marche

Astuce livrée à toutes fins utile, comme disait ma grand-mère.

Chti_poupon

Écrit par : diaph 30 Nov 2009, 11:03

Bonjour,
J'ai essayé la méthode de chti_poupon:
Super - parfait, les coordonnées bancaires ne vont qu'aux intéressés.

Écrit par : roiphoto 1 Apr 2017, 10:59

Citation (chti_poupon @ 9 Nov 2009, 16:30) *
Bonjour!
Pour mon compte, mon banquier m'ayant déconseillé de laisser traîner mes références bancaires "all around the world" sous des yeux inconnus et pas forcément bien intentionnés, j'ai décidé de l'envoyer avec le courriel de confirmation de commande. Donc avec les références (n° de commande .....) sous les yeux du client.
J'ai ensuite (shadock quand tu nous tiens) pompé moneyorder (Chèque: c'est différé comme le virement), dans catalog/includes/modules
mis "d'après moneyorder dans l'en-tête GNU" et la date. Et remplacé partout "moneyorder" par "virement" à l'éditeur de texte (Minuscules et majuscules).
J'ai ensuite inséré quelques lignes dans catalog/checkout_process.php:
Code
     $email_order .= $order->info['payment_method'] . "\n\n";
//bof Ajout IBAN / BIC en cas de virement
       if ($order->info['payment_method'] == (MODULE_PAYMENT_VIREMENT_TEXT_TITLE))
       {
         $email_order .= EMAIL_TEXT_VIREMENT."\n\n". EMAIL_TEXT_ACCOUNT_OWNER."\n" .EMAIL_TEXT_IBAN."\n\n".EMAIL_TEXT_BIC. "\n\n" .EMAIL_SEPARATOR ."\n";
       }
//eof Ajout IBAN / BIC en cas de virement
     if ($payment_class->email_footer) {


et ajouté les commentaires 'in french language' dans catalog/includes/languages/french/checkout_process.php:
Code
//bof Ajout IBAN / BIC en cas de virement
define('EMAIL_TEXT_VIREMENT','Pour votre règlement par virement, nos coordonnées bancaires :');
define('EMAIL_TEXT_ACCOUNT_OWNER','Titulaire du compte: nom du titulaire');
define('EMAIL_TEXT_IBAN','Notre IBAN International : <u>| xxxx | xxxx| xxxx| xxxx| xxxx| xxxx| xxxx|</u>');
define('EMAIL_TEXT_BIC','Notre BIC (identification Banque) : <u>| XXXXXXXX |</u>');
//eof Ajout IBAN / BIC en cas de virement


et crée dans catalog/includes/languages/french/modules/payment/
en pompant (pas honte) comme précédemment moneyorder et en remplaçant pareil "moneyorder" par "virement" partout avec les textes adaptés, ce qui donne:
Code
   define('MODULE_PAYMENT_VIREMENT_TEXT_TITLE', 'Paiement par virement');
   define('MODULE_PAYMENT_VIREMENT_TEXT_DESCRIPTION', 'Etablir le virement à l\'ordre de :
' . nl2br(STORE_OWNER) . '

' . MODULE_PAYMENT_VIREMENT_PAYTO . '

Votre commande sera trait&eacute;e d&egrave;s r&eacute;ception et identification du r&egrave;glement.');
   define('MODULE_PAYMENT_VIREMENT_TEXT_EMAIL_FOOTER', 'Etablir le virement à l\'ordre de : ' . STORE_OWNER . '

'. MODULE_PAYMENT_VIREMENT_PAYTO . '

' . 'Votre commande sera trait&eacute;e d&egrave;s r&eacute;ception du r&egrave;glement.');


C'est pas très fin, mais çà marche

Astuce livrée à toutes fins utile, comme disait ma grand-mère.

Chti_poupon



Bonjour,
Comment installer moneyorder ?
Oscommerce2.2RC1
Easyphp 1.8 (avec php 4.3.10)
win 8 pro ; 32 bits
+ CAP1.4.3 (Customer AddProducts)
LOCAL

Comment faire pour installer le module moneyorder, puisque dans l’outil ADMINISTRATION, il n’y a aucun lien cliquable d’installation. J’ai fait toutes les modifications que vous avez indiquées dans votre commentaire et je ne sais plus comment continuer.

Que faire ? ? ? De l’aide s’il vous plaît !

Merci


Écrit par : Bonbec 1 Apr 2017, 15:02

Bonjour,

La réponse se trouve peut-être http://www.oscommerce-fr.info/forum/index.php?showtopic=69792 smile.gif

Écrit par : roiphoto 8 Apr 2017, 09:24

Bonjour,

Merci Bonbec, le fil sur lequel vous m’avez redirigé m’a permis non seulement d’avancer mais de déceler toutes les choses que j’avais vainement cherchées dans la base de données

Néanmoins je reste bloqué par un parseerror , je m’explique

Je voudrais utiliser l’astuce proposée par chti_poupon pour le virement bancaire. Dans son commentaire du 09 nov 2009 à 16h30 que je cite ci-après
Code
$email_order .= $order->info['payment_method'] . "\n\n";
//bof Ajout IBAN / BIC en cas de virement
if ($order->info['payment_method'] == (MODULE_PAYMENT_VIREMENT_TEXT_TITLE))
{
$email_order .= EMAIL_TEXT_VIREMENT."\n\n". EMAIL_TEXT_ACCOUNT_OWNER."\n" .EMAIL_TEXT_IBAN."\n\n".EMAIL_TEXT_BIC. "\n\n" .EMAIL_SEPARATOR ."\n";
}
//eof Ajout IBAN / BIC en cas de virement
if ($payment_class->email_footer) {

Quand j’insère le code ci-dessus tel qu’a proposé chti_poupon dans catalog/checkout_process.php, j’obtiens

parseerror in c:\program files\easyphp1-8\www\catalog\checkout_process.php on line 289

// ligne 289 est la fin du fichier

Ma question : à quel endroit du fichier checkout_process.php dois-je insérer le code ci-dessus sans obtenir parseerror ?

Merci

Écrit par : Bonbec 8 Apr 2017, 12:30

Bonjour,

La partie de code à ajouter, c'est celle entre //bof Ajout IBAN / BIC en cas de virement et //eof Ajout IBAN / BIC en cas de virement

Donc dans la page checkout_process.php, chercher la ligne :

Code
     $email_order .= $order->info['payment_method'] . "\n\n";

et la ligne :
Code
     if ($payment_class->email_footer) {


Ajouter ENTRE les deux lignes citées ci-dessus ce code :
Code
//bof Ajout IBAN / BIC en cas de virement
       if ($order->info['payment_method'] == (MODULE_PAYMENT_VIREMENT_TEXT_TITLE))
       {
         $email_order .= EMAIL_TEXT_VIREMENT."\n\n". EMAIL_TEXT_ACCOUNT_OWNER."\n" .EMAIL_TEXT_IBAN."\n\n".EMAIL_TEXT_BIC. "\n\n" .EMAIL_SEPARATOR ."\n";
       }
//eof Ajout IBAN / BIC en cas de virement


PS : je présume que vous avez fait un copier/coller de toutes les lignes et comme la dernière ligne se termine avec une { et qu'il n'y a pas de } fermante dans le code, cela génère le fameux parse error.

Écrit par : roiphoto 14 Apr 2017, 12:04

Bonjour, Bonbec

Merci, j'ai suivi votre conseil

Il n'y a plus d'erreur de syntaxe en local et bientôt je passe à l'hébergement. Normalement tout devrait bien se passer.

Merci à toute la communauté

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)