kenyashop Posted April 8, 2009 Share Posted April 8, 2009 (edited) Hello, I have new payment module but don't seem to be able to get it working. I have installed the two files in the correct place and can see them in File Manager. When I go to Modules --> Payment it does not appear I want to see if anyone can spot an error in the code for the modules before I start looking for errors in my installation (which is a new, clean v3.0a5) payment module <?php /* $Id: monyamickle.php,v 2 2009/04/02 04:18:15 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ class paytreck { var $code, $title, $description, $enabled; // class constructor function paytreck() { global $order; $this->code = 'monyamickle'; $this->title = MODULE_PAYMENT_MONYAMICKLE_TEXT_TITLE; $this->description = MODULE_PAYMENT_MONYAMICKLE_TEXT_DESCRIPTION; $this->sort_order = MODULE_PAYMENT_MONYAMICKLE_SORT_ORDER; $this->enabled = ((MODULE_PAYMENT_MONYAMICKLE_STATUS == 'True') ? true : false); if ((int)MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); $this->form_action_url = 'https://www.monyamickle.com/process.htm'; } // class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_MONYAMICKLE_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_MONYAMICKLE_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 false; } function process_button() { global $order, $currencies, $currency; if (MODULE_PAYMENT_MONYAMICKLE_CURRENCY == 'Selected Currency') { $my_currency = $currency; } else { $my_currency = substr(MODULE_PAYMENT_MONYAMICKLE_CURRENCY, 5); } if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) { $my_currency = 'USD'; } $process_button_string = tep_draw_hidden_field('cmd', '_xclick') . tep_draw_hidden_field('member', MODULE_PAYMENT_MONYAMICKLE_ID) . tep_draw_hidden_field('product', STORE_NAME) . tep_draw_hidden_field('comments', 'Order - ' . date('d. M Y - H:i')) . tep_draw_hidden_field('action', 'payment') . tep_draw_hidden_field('price', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) . tep_draw_hidden_field('ureturn', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) . tep_draw_hidden_field('ucancel', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); return $process_button_string; } function before_process() { return false; } function after_process() { return false; } function output_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_MONYAMICKLE_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 ('Enable PayTreck Module', 'MODULE_PAYMENT_MONYAMICKLE_STATUS', 'True', 'Do you want to accept PayTreck payments?', '6', '3', '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 ('UserID', 'MODULE_PAYMENT_MONYAMICKLE_ID', 'yourusername', 'The username to use for the PayTreck service', '6', '4', now())"); 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 ('Transaction Currency', 'MODULE_PAYMENT_MONYAMICKLE_CURRENCY', 'Selected Currency', 'The currency to use for credit card transactions', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\'), ', now())"); tep_db_query("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_MONYAMICKLE_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', 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_MONYAMICKLE_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, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_MONYAMICKLE_STATUS', 'MODULE_PAYMENT_MONYAMICKLE_ID', 'MODULE_PAYMENT_MONYAMICKLE_CURRENCY', 'MODULE_PAYMENT_MONYAMICKLE_ZONE', 'MODULE_PAYMENT_MONYAMICKLE_ORDER_STATUS_ID', 'MODULE_PAYMENT_MONYAMICKLE_SORT_ORDER'); } } ?> language file <?php /* $Id: monyamickle.php,v 2 2009/04/02 05:39:27 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2002 osCommerce Released under the GNU General Public License */ define('MODULE_PAYMENT_MONYAMICKLE_TEXT_TITLE', 'MonyaMickle'); define('MODULE_PAYMENT_MONYAMICKLE_TEXT_DESCRIPTION', 'MonyaMickle'); ?> The only thing I could see is that all the other language file are .xml files, and this is a .php file. Can anyone suggest anything else? Thanks Edited April 8, 2009 by kenyashop Quote Link to comment Share on other sites More sharing options...
Guest Posted April 8, 2009 Share Posted April 8, 2009 Spot the code error..., Why is my payment module not showing? my installation (which is a new, clean v3.0a5) You are trying to use a v2.2 module with v3 - at the moment the only payment modules for v3 are the ones that come with it Quote Link to comment Share on other sites More sharing options...
kenyashop Posted April 9, 2009 Author Share Posted April 9, 2009 You are trying to use a v2.2 module with v3 - at the moment the only payment modules for v3 are the ones that come with it Hi, thanks for the suggestion. I have now tried with a clean install of V2.2 but have the same problem. I instlled both via File Manager, can see all the other payment modules, but not the new one... I'm stumped :blink: Quote Link to comment Share on other sites More sharing options...
Guest Posted April 9, 2009 Share Posted April 9, 2009 Hi, thanks for the suggestion. I have now tried with a clean install of V2.2 but have the same problem. I instlled both via File Manager, can see all the other payment modules, but not the new one... I'm stumped :blink: Released under the GNU General Public License */ class monyamickle { var $code, $title, $description, $enabled; // class constructor function monyamickle() { global $order; $this->code = 'monyamickle'; Quote Link to comment Share on other sites More sharing options...
kenyashop Posted April 9, 2009 Author Share Posted April 9, 2009 Hi, thanks. I think it must be getting close because at least there is some acknowledgment in Modules--> Payment... The language file now looks like this <?php /* $Id: monyamickle.php,v 2 2009/04/02 05:39:27 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2002 osCommerce Released under the GNU General Public License */ class monyamickle { var $code, $title, $description, $enabled; // class constructor function monyamickle() { global $order; $this->code = 'monyamickle'; ?> But there is an error shown instead of the payment module that reads Parse error: syntax error, unexpected $end in /home/kenyaweb/public_html/catalog/includes/languages/english/modules/payment/monyamickle.php on line 21 That is the line that says ?> Have I added the suggested code correctly? Quote Link to comment Share on other sites More sharing options...
Guest Posted April 9, 2009 Share Posted April 9, 2009 I did not post the whole file, just enough for you to know what to replace. Quote Link to comment Share on other sites More sharing options...
kenyashop Posted April 9, 2009 Author Share Posted April 9, 2009 I did not post the whole file, just enough for you to know what to replace. Thank you for that. Have I added it correctly (see above)? If it is correct then the error message still counts. What do you think? Quote Link to comment Share on other sites More sharing options...
Guest Posted April 9, 2009 Share Posted April 9, 2009 Thank you for that. Have I added it correctly (see above)? If it is correct then the error message still counts. What do you think? I think you did not add the code correctly. $this->code = 'monyamickle'; ?> <------------------------------------------- why did you put that there? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.