Zen Cart Logo
Forums / Built-in Shipping and Payment Modules / Bank to Bank Transaction module for two different banks with min and max limit!

Bank to Bank Transaction module for two different banks with min and max limit!

Locked

Views: 3,126

Results 1 to 1 of 1
This thread is locked. New replies are disabled.
21 Sep 2009, 1:28 PM
#1
dionidis avatar

dionidis

New Zenner

Join Date:
Dec 2004
Posts:
37
Plugin Contributions:
0

Bank to Bank Transaction module for two different banks with min and max limit!

Hello all Zen users!

We made a module to use for Bank-to-Bank transaction that uses two different bank accounts (randomly selected) and it is shown if the cart is within min limit and max limit (in US Dollars (USD))!

The module has been tested in 1.3.8 zen-cart.

If anybody finds this useful we are happy, if not we are also happy!

If anybody changes the code or has any ideas how the code can be improved please post in this thread!

ps: We are not responsible for any increase in sales or any dropped sales. The code is provided as is!
Please make a backup of all your settings, files and databases before you use this code!

This is the code for to be put in zen-cart/includes/modules/payment/banktrans.php

<?php // // +----------------------------------------------------------------------+ // |zen-cart Open Source E-commerce | // +----------------------------------------------------------------------+ // | Copyright (c) 2003 The zen-cart developers | // | | // | <http://www.zen-cart.com/index.php> | // | | // | Portions Copyright (c) 2003 osCommerce | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the GPL license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | <http://www.zen-cart.com/license/2_0.txt>. | // | If you did not receive a copy of the zen-cart license and are unable | // | to obtain it through the world-wide-web, please send a note to | // | [email protected] so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // $Id: banktrans.php,v 1.0 2009/09/21 XM // class banktrans { var $code, $title, $description, $enabled; // class constructor function banktrans () { $this->code = 'banktrans'; $this->title = MODULE_PAYMENT_BANKTRANS_TEXT_TITLE; $this->description = MODULE_PAYMENT_BANKTRANS_TEXT_DESCRIPTION; $this->sort_order = MODULE_PAYMENT_BANKTRANS_SORT_ORDER; $this->email_footer = MODULE_PAYMENT_BANKTRANS_TEXT_EMAIL_FOOTER; $this->enabled = ((MODULE_PAYMENT_BANKTRANS_STATUS == 'True') ? true : false); // Set order status value if ((int)MODULE_PAYMENT_BANKTRANS_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_BANKTRANS_ORDER_STATUS_ID; } } // class methods function update_status() { global $order, $db, $currencies; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_BANKTRANS_ZONE > 0) ) { $check_flag = false; $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_BANKTRANS_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id"); while (!$check->EOF) { if ($check->fields['zone_id'] < 1) { $check_flag = true; break; } elseif ($check->fields['zone_id'] == $order->billing['zone_id']) { $check_flag = true; break; } $check->MoveNext(); } if ($check_flag_group == false) { $this->enabled = false; } } if (isset($_SESSION['cart'])) { $cart2 = number_format($order->info['total'] * $currencies->get_value("USD"), $currencies->get_decimal_places("USD")); $cart3 = str_replace(array(","), array(""), $cart2); $ka = "1"; if (($cart3 >= MODULE_PAYMENT_BANKTRANS_MINLIMIT) && ($cart3 < MODULE_PAYMENT_BANKTRANS_MAXLIMIT)) // show only if cart between min and max limit for banktrans defined in admin {$ka = "2";} } if ($this->enabled == true) { if ($ka == "1") { $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_BANKTRANS_TEXT_DESCRIPTION); } function process_button() { return false; } function before_process() { return false; } function after_process() { return false; } function get_error() { return false; } function check() { global $db; if (!isset($this->_check)) { $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_BANKTRANS_STATUS'"); $this->_check = $check_query->RecordCount(); } return $this->_check; } function install() { global $db; $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Bank Transaction Module', 'MODULE_PAYMENT_BANKTRANS_STATUS', 'True', 'Do you want to accept Bank Transaction payments?', '6', '1', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now());"); $db->Execute("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_BANKTRANS_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Min limit order for Bank Transaction:', 'MODULE_PAYMENT_BANKTRANS_MINLIMIT', '', 'Minimal total order in USD (only number)', '6', '2', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Max limit order for Bank Transaction:', 'MODULE_PAYMENT_BANKTRANS_MAXLIMIT', '', 'Maximal total order in USD (only number)', '6', '2', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('.............................................................<br />1. Enter Bank Name:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME1', '' ,'Bank Name :', '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Bank Address:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS1', '' ,'Bank Address :', '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Bank City:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY1','', 'Bank City :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Bank Country:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY1', '' , 'Bank Country :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter SWIFT Code:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE1', '', 'SWIFT Code :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter IBAN:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN1', '', '(International Bank Account Number) :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Account Number:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER1', '', 'Account Number :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Account Owner Name:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT1', '', 'Account Owner :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('1. Enter Account Owner\'s Address:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES1', '', 'Account Owner\'s Address :' , '6', '5', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('.............................................................<br />2. Enter Bank Name:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME2', '' ,'Bank Name :', '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Bank Address:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS2', '' ,'Bank Address :', '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Bank City:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY2','', 'Bank City :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Bank Country:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY2', '' , 'Bank Country :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter SWIFT Code:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE2', '', 'SWIFT Code :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter IBAN:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN2', '', '(International Bank Account Number) :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Account Number:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER2', '', 'Account Number :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Account Owner Name:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT2', '', 'Account Owner Name :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('2. Enter Account Owners Address:', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES2', '', 'Account Owner\'s Address :' , '6', '3', now());"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display:', 'MODULE_PAYMENT_BANKTRANS_SORT_ORDER', '0', '.............................................................<br />Sort order of display. Lowest is displayed first.', '6', '0', now())"); $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_BANKTRANS_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())"); } function remove() { global $db; $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key LIKE 'MODULE_PAYMENT_BANKTRANS%'"); } function keys() { return array('MODULE_PAYMENT_BANKTRANS_STATUS', 'MODULE_PAYMENT_BANKTRANS_MINLIMIT', 'MODULE_PAYMENT_BANKTRANS_MAXLIMIT', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES1', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT2', 'MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES2', 'MODULE_PAYMENT_BANKTRANS_ZONE', 'MODULE_PAYMENT_BANKTRANS_SORT_ORDER','MODULE_PAYMENT_BANKTRANS_ORDER_STATUS_ID'); } } ?>

This is code for the zen-cart/includes/languages/english/modules/payment/banktrans.php

<?php // // +----------------------------------------------------------------------+ // |zen-cart Open Source E-commerce | // +----------------------------------------------------------------------+ // | Copyright (c) 2003 The zen-cart developers | // | | // | <http://www.zen-cart.com/index.php> | // | | // | Portions Copyright (c) 2003 osCommerce | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the GPL license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | <http://www.zen-cart.com/license/2_0.txt>. | // | If you did not receive a copy of the zen-cart license and are unable | // | to obtain it through the world-wide-web, please send a note to | // | [email protected] so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // $Id: banktrans.php,v 1.0 2004/05/02 XM english language // $random_bt = rand(1,2); switch ($random_bt) { case 1: $random_bt = ' Bank Name: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME1 . ' Bank Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS1 . ' Bank City: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY1 . ' Bank Country: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY1 . ' SWIFT/BIC Code: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE1 . ' IBAN (International Bank Account Number): ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN1 . ' Additional Information: Account Number: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER1 . ' Account Owner: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT1 . ' Account Owner\'s Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES1; break; case 2: $random_bt = ' Bank Name: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME2 . ' Bank Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS2 . ' Bank City: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY2 . ' Bank Country: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY2 . ' SWIFT/BIC Code: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE2 . ' IBAN (International Bank Account Number): ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN2 . ' Additional Information: Account Number: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER2 . ' Account Owner: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT2 . ' Account Owner\'s Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES2; break; default: $random_bt = ' Bank Name: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME1 . ' Bank Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS1 . ' Bank City: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY1 . ' Bank Country: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY1 . ' SWIFT/BIC Code: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE1 . ' IBAN (International Bank Account Number): ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN1 . ' Additional Information: Account Number: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER1 . ' Account Owner: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT1 . ' Account Owner\'s Address: ' . MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_ADDRES1; } define('MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_NAME1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_ADDRESS1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_CITY1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_BANK_COUNTRY1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_SWIFT_CODE1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_IBAN1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_OWNER_ACCOUNT1', ''); define('MODULE_PAYMENT_BANKTRANS_RECEIVER_ACCOUNT_NUMBER1', ''); define('MODULE_PAYMENT_BANKTRANS_TEXT_TITLE', 'Direct Bank-to-Bank Transaction'); define('MODULE_PAYMENT_BANKTRANS_TEXT_DESCRIPTION', 'All information necessary for the Direct Bank-to-Bank Transfer will be sent to you by e-mail after you confirm your order.'; define('MODULE_PAYMENT_BANKTRANS_TEXT_EMAIL_FOOTER', "Direct Bank-to-Bank Transaction details:\nPlease use the information provided below when you make your bank transfer.\n" . $random_bt); ?>