Jump to content

otgrouch

Members
  • Content count

    42
  • Joined

  • Last visited

Profile Information

  • Real Name
    David Hawkins
  1. I use eprocessingnetwork for credit cards and it appears not many people do. I chronicled my efforts to get the old 2.2 add-on working here: I thought I had it working, but have come to find out that it only works as it should on a PC. On mobile, when you click 'continue' after a successful payment, it brings you back to the index page of the store and you're logged out. All items remain in your shopping cart and it doesn't close out the order. This is becoming burdensome as I have to manually push the orders through using 'check/money order' as the payment type - and that assumes the items are still in the customer shopping cart. Is there anything that would different in how BS handles a return to the site from how the desktop version does?
  2. otgrouch

    Eprocessing Network Payment Gateway

    I'm still tinkering with this module, but I have this code working if you pass the collection of card information off to eprocessingnetwork. <?php /* $Id: eProcessingNetwork.php,v 1.40 2002/11/25 18:23:14 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License eProcessingNetwork.php was developed for eProcessingNetwork http://www.eProcessingNetwork.com by Julian Brown julian@jlbprof.com */ class eProcessingNetwork { var $code, $title, $description, $enabled; // class constructor function __construct() { global $order; $this->code = 'eProcessingNetwork'; $this->title = MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_TITLE; $this->description = MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_DESCRIPTION; $this->enabled = ((MODULE_PAYMENT_EPROCESSINGNETWORK_STATUS == 'True') ? true : false); $this->eproc_gets_cc = ((MODULE_PAYMENT_EPROCESSINGNETWORK_CC == 'True') ? true : false); $this->logo_url = MODULE_PAYMENT_EPROCESSINGNETWORK_LOGO_URL; $this->bck_color = MODULE_PAYMENT_EPROCESSINGNETWORK_BCK_COLOR; $this->text_color = MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_COLOR; $this->accept_visa = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_VISA; $this->accept_mc = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_MC; $this->accept_amex = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_AMEX; $this->accept_ds = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DS; $this->accept_dn = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DN; $this->accept_jcb = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_JCB; $this->accept_cb = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CB; $this->accept_ccfs = MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CCFS; if (strcmp ($this->accept_ccfs, "False") == 0) $this->accept_ccfs = 0; else $this->accept_ccfs = 1; // Choose a url depending on whether oscommerce is collecting the CC# // or if eProcessingNetwork is. if ($this->eproc_gets_cc) { $this->form_action_url = 'https://www.eProcessingNetwork.com/cgi-bin/dbe/order.pl'; } else { $this->form_action_url = tep_href_link('checkout_process.php', '', 'SSL', false); } $this->log_fh = 0; $this->logVARS ("init"); } // class methods function javascript_validation() { // if eProcessing is collecting the CC#, then OSCommerce does not // allow the user to enter CC#, therefore we do not need to validate it if (!$this->eproc_gets_cc) { $cc_owner_len = CC_OWNER_MIN_LENGTH; $cc_number_len = CC_NUMBER_MIN_LENGTH; $err_cvv2_type = MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_TYPE_ERROR; $err_cc_owner = MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_JS_CC_OWNER; $err_cc_number = MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_JS_CC_NUMBER; $err_ccfs_routing = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ROUTING_ERROR; $err_ccfs_account = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNT_ERROR; $err_ccfs_check = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CHECK_ERROR; $err_ccfs_bankname = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_BANKNAME_ERROR; $epn_code = $this->code; $js = <<<EOT if (payment_value == "$epn_code") { var cc_owner_len = "$cc_owner_len"; var cc_number_len = "$cc_number_len"; var err_cvv2_type = "$err_cvv2_type"; var err_cc_owner = "$err_cc_owner"; var err_cc_number = "$err_cc_number"; var payment_type_radios = document.checkout_payment.elements ['eprocessing_payment_type']; var bIsCheck; bIsCheck = false; var iLen = payment_type_radios.length; if (iLen != undefined) { var i; var payment_type; for (i = 0; i < iLen; ++i) { payment_type = payment_type_radios [i]; if (payment_type.checked && payment_type.value == "Check") { bIsCheck = true; break; } } } if (bIsCheck) { var ccfs_account = document.checkout_payment.eprocessing_ccfs_account; var ccfs_routing = document.checkout_payment.eprocessing_ccfs_routing; var ccfs_check = document.checkout_payment.eprocessing_ccfs_check; var ccfs_bankname = document.checkout_payment.eprocessing_ccfs_bankname; var err_ccfs_account = "$err_ccfs_account"; var err_ccfs_routing = "$err_ccfs_routing"; var err_ccfs_check = "$err_ccfs_check"; var err_ccfs_bankname= "$err_ccfs_bankname"; if (ccfs_account.value.length < 1) { error_message = error_message + " " + err_ccfs_account; error = 1; } else if (ccfs_routing.value.length != 9) { error_message = error_message + " " + err_ccfs_routing; error = 1; } else if (ccfs_check.value.length < 1) { error_message = error_message + " " + err_ccfs_check; error = 1; } else if (ccfs_bankname.value.length < 1) { error_message = error_message + " " + err_ccfs_bankname; error = 1; } } else { var cvv2_type = document.checkout_payment.eprocessing_cc_cvv2_type; var cvv2 = document.checkout_payment.eprocessing_cc_cvv2.value; var cc_owner = document.checkout_payment.eprocessing_cc_owner.value; var cc_number = document.checkout_payment.eprocessing_cc_number.value; if (cc_owner == "" || cc_owner.length < cc_owner_len) { error_message = error_message + " " + err_cc_owner; error = 1; } if (cc_number == "" || cc_number.length < cc_number_len) { error_message = error_message + " " + err_cc_number; error = 1; } var cvv2_type_selected = cvv2_type.selectedIndex; var cvv2_type_id = cvv2_type.options [cvv2_type_selected].value; if (cvv2_type_id == 1 && cvv2.length <= 0) { error_message = error_message + " " + err_cvv2_type; error = 1; } } } EOT; } else { $js = ''; } return $js; } function getValue ($field) { global $_POST; global $_GET; $value = $_GET[$field]; if (strlen ($value)) return $value; $value = $_POST[$field]; if (strlen ($value)) return $value; return ""; } function update_defaults ($defaults, $field, $post_field) { $value = $this->getValue ($post_field); if (strlen ($value)) $defaults [$field] = $value; return $defaults; } function selection() { global $_POST; global $order; for ($i=1; $i<13; $i++) { $expires_month[] = array( 'id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000))); } $today = getdate(); for ($i=$today['year']; $i < $today['year']+10; $i++) { $expires_year[] = array( 'id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i))); } //added int field to remove php 7.1 error regarding number expected $this_mon = sprintf ("%02d", ((int)$today ['month'] + 1)); $this_year = sprintf ("%02d", ((int)$today ['year'] - 2000)); $cvv2_types [] = array ( 'id' => '1', 'text' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_1); $cvv2_types [] = array ( 'id' => '0', 'text' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_0); $cvv2_types [] = array ( 'id' => '2', 'text' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_2); $cvv2_types [] = array ( 'id' => '9', 'text' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_9); $cvv2_types_default = '1'; // Depending on whether OSCommerce is collecting the CC# or not. If // OSCommerce is collecting then we must allow the user to enter it, // here we output the form fields to collect the cc# if (!$this->eproc_gets_cc) { $card_logos = ""; if (!strcmp ($this->accept_visa, "True")) { $card_logos = $card_logos . ' ' . tep_image (DIR_WS_IMAGES . 'ePN_VISALogo.gif', 'VISA Logo', 36, 24, ''); } if (!strcmp ($this->accept_mc, "True")) { $card_logos = $card_logos . ' ' . tep_image (DIR_WS_IMAGES . 'ePN_MCLogo.gif', 'Mastercard Logo', 36, 24, ''); } if (!strcmp ($this->accept_amex, "True")) { $card_logos = $card_logos . ' ' . tep_image (DIR_WS_IMAGES . 'ePN_AMEXLogo.gif', 'American Express Logo', 36, 24, ''); } if (!strcmp ($this->accept_ds, "True")) { $card_logos = $card_logos . ' ' . tep_image (DIR_WS_IMAGES . 'ePN_DiscoverLogo.gif', 'Discover Logo', 36, 24, ''); } if (!strcmp ($this->accept_dn, "True")) { $card_logos = $card_logos . ' ' . tep_image (DIR_WS_IMAGES . 'ePN_DinersLogo.gif', 'Diners Club Logo', 36, 24, ''); } if (!strcmp ($this->accept_jcb, "True")) { $card_logos = $card_logos . ' ' . tep_output_string ('JCB'); } if (!strcmp ($this->accept_cb, "True")) { $card_logos = $card_logos . ' ' . tep_output_string ('Carte Blanche'); } $cvv2_js = "javascript:window.open('http://support.eprocessingnetwork.com/test/catalog/includes/languages/english/modules/payment/eProcessingNetwork_cvv2.html', 'infowin_cvv2', 'scrollbars=1,resizable=1,width=300,height=225,dependent=1');"; $what_is_cvv2 = '<input type=button name=cvv2_help value="What is CVV2?" OnClick="' . $cvv2_js . '">'; $accounttypes [] = array ( 'id' => 'C', 'text' => 'Company'); $accounttypes [] = array ( 'id' => 'P', 'text' => 'Personal'); $accountclasses [] = array ( 'id' => 'Checking', 'text' => 'Checking'); $accountclasses [] = array ( 'id' => 'Savings', 'text' => 'Savings'); $defaults = array (); $defaults['pt_credit'] = true; $defaults['pt_check'] = false; $defaults['cc_owner'] = $order->billing ['firstname'] . ' ' . $order->billing ['lastname']; $defaults['cc_number'] = ''; $defaults['cvv2_types_default'] = $cvv2_types_default; $defaults['cvv2_default'] = ''; $defaults['accounttypes_default'] = 'P'; $defaults['accountclasses_default'] = 'Checking'; $defaults['ccfs_routing'] = ''; $defaults['ccfs_account'] = ''; $defaults['ccfs_check'] = ''; $defaults['ccfs_bankname'] = ''; $defaults['ccfs_companyname'] = $order->customer ['company']; $defaults['ccfs_firstname'] = $order->customer ['firstname']; $defaults['ccfs_lastname'] = $order->customer ['lastname']; $defaults['ccfs_address'] = $order->customer ['street_address']; $defaults['ccfs_city'] = $order->customer ['city']; $defaults['ccfs_state'] = $order->customer ['state']; $defaults['ccfs_zip'] = $order->customer ['postcode']; $defaults['ccfs_phone'] = $order->customer ['telephone']; $defaults['this_mon'] = $this_mon; $defaults['this_year'] = $this_year; # override if any exists if (strlen ($_POST['eprocessing_payment_type'])) { if (!strcmp ( $_POST['eprocessing_payment_type'], "Check")) { $defaults ['pt_credit'] = false; $defaults ['pt_check'] = true; } else { $defaults ['pt_credit'] = true; $defaults ['pt_check'] = false; } } $defaults = $this->update_defaults ($defaults, 'cc_owner', 'eprocessing_cc_owner'); $defaults = $this->update_defaults ($defaults, 'cc_number', 'eprocessing_cc_number'); $defaults = $this->update_defaults ($defaults, 'this_mon', 'eprocessing_cc_expires_month'); $defaults = $this->update_defaults ($defaults, 'this_year', 'eprocessing_cc_expires_year'); $defaults = $this->update_defaults ($defaults, 'cvv2_default', 'eprocessing_cc_cvv2'); $defaults = $this->update_defaults ($defaults, 'cvv2_types_default', 'eprocessing_cc_cvv2_type'); $defaults = $this->update_defaults ($defaults, 'accounttypes_default', 'eprocessing_ccfs_accounttype'); $defaults = $this->update_defaults ($defaults, 'accountclasses_default', 'eprocessing_ccfs_accountclass'); $defaults = $this->update_defaults ($defaults, 'ccfs_routing', 'eprocessing_ccfs_routing'); $defaults = $this->update_defaults ($defaults, 'ccfs_account', 'eprocessing_ccfs_account'); $defaults = $this->update_defaults ($defaults, 'ccfs_check', 'eprocessing_ccfs_check'); $defaults = $this->update_defaults ($defaults, 'ccfs_bankname', 'eprocessing_ccfs_bankname'); $defaults = $this->update_defaults ($defaults, 'ccfs_companyname', 'eprocessing_ccfs_companyname'); $defaults = $this->update_defaults ($defaults, 'ccfs_firstname', 'eprocessing_ccfs_firstname'); $defaults = $this->update_defaults ($defaults, 'ccfs_lastname', 'eprocessing_ccfs_lastname'); $defaults = $this->update_defaults ($defaults, 'ccfs_address', 'eprocessing_ccfs_address'); $defaults = $this->update_defaults ($defaults, 'ccfs_city', 'eprocessing_ccfs_city'); $defaults = $this->update_defaults ($defaults, 'ccfs_state', 'eprocessing_ccfs_state'); $defaults = $this->update_defaults ($defaults, 'ccfs_zip', 'eprocessing_ccfs_zip'); $defaults = $this->update_defaults ($defaults, 'ccfs_phone', 'eprocessing_ccfs_phone'); $wa = array( array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_PAYMENT_TYPE, 'field' => tep_draw_radio_field ('eprocessing_payment_type', 'Credit', $defaults ['pt_credit']) . MODULE_PAYMENT_EPROCESSINGNETWORK_PAYMENT_CREDIT), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field( 'eprocessing_cc_owner', $defaults ['cc_owner'])), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CARDS_ACCEPTED, 'field' => $card_logos), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('eprocessing_cc_number', $defaults ['cc_number'])), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('eprocessing_cc_expires_month', $expires_month, $defaults ['this_mon']) . '&nbsp;' . tep_draw_pull_down_menu('eprocessing_cc_expires_year', $expires_year, $defaults ['this_year'])), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_TYPE, 'field' => tep_draw_pull_down_menu('eprocessing_cc_cvv2_type', $cvv2_types, $defaults ['cvv2_types_default'])), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2, 'field' => tep_draw_input_field('eprocessing_cc_cvv2', $defaults ['cvv2_default'])), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_HELP, 'field' => $what_is_cvv2)); if ($this->accept_ccfs) { array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_PAYMENT_TYPE, 'field' => tep_draw_radio_field ('eprocessing_payment_type', 'Check', $defaults ['pt_check']) . MODULE_PAYMENT_EPROCESSINGNETWORK_PAYMENT_CHECK)); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ROUTING, 'field' => tep_draw_input_field( 'eprocessing_ccfs_routing', $defaults ['ccfs_routing']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNT, 'field' => tep_draw_input_field( 'eprocessing_ccfs_account', $defaults ['ccfs_account']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CHECK, 'field' => tep_draw_input_field( 'eprocessing_ccfs_check', $defaults ['ccfs_check']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_HOWTO, 'field' => tep_output_string ( MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_HOWTO_TXT))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_IMAGE, 'field' => tep_image (DIR_WS_IMAGES . 'ePN_Check.jpg', 'Image of Check', 169, 87, ''))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNTTYPE, 'field' => tep_draw_pull_down_menu ( 'eprocessing_ccfs_accounttype', $accounttypes, $defaults ['accounttypes_default']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNTCLASS, 'field' => tep_draw_pull_down_menu ( 'eprocessing_ccfs_accountclass', $accountclasses, $defaults ['accountclasses_default']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_BANKNAME, 'field' => tep_draw_input_field( 'eprocessing_ccfs_bankname', $defaults ['ccfs_bankname']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_COMPANYNAME, 'field' => tep_draw_input_field( 'eprocessing_ccfs_companyname', $defaults ['ccfs_companyname']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_FIRSTNAME, 'field' => tep_draw_input_field( 'eprocessing_ccfs_firstname', $defaults ['ccfs_firstname']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_LASTNAME, 'field' => tep_draw_input_field( 'eprocessing_ccfs_lastname', $defaults['ccfs_lastname']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ADDRESS, 'field' => tep_draw_input_field( 'eprocessing_ccfs_address', $defaults ['ccfs_address']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CITY, 'field' => tep_draw_input_field( 'eprocessing_ccfs_city', $defaults ['ccfs_city']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_STATE, 'field' => tep_draw_input_field( 'eprocessing_ccfs_state', $defaults ['ccfs_state']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ZIP, 'field' => tep_draw_input_field( 'eprocessing_ccfs_zip', $defaults ['ccfs_zip']))); array_push ($wa, array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_PHONE, 'field' => tep_draw_input_field( 'eprocessing_ccfs_phone', $defaults ['ccfs_phone']))); } $selection = array( 'id' => $this->code, 'module' => $this->title, 'fields' => $wa); } else { $selection = array( 'id' => $this->code, 'module' => $this->title, 'fields' => tep_draw_hidden_field('eprocessing_cc_owner', '')); } return $selection; } function RoutingMod10 ($routing_num) { $r1 = substr ($routing_num, 0, 1); $r2 = substr ($routing_num, 1, 1); $r3 = substr ($routing_num, 2, 1); $r4 = substr ($routing_num, 3, 1); $r5 = substr ($routing_num, 4, 1); $r6 = substr ($routing_num, 5, 1); $r7 = substr ($routing_num, 6, 1); $r8 = substr ($routing_num, 7, 1); $r9 = substr ($routing_num, 8, 1); $checksum = ($r1 * 3) + ($r2 * 7) + ($r3 * 1) + ($r4 * 3) + ($r5 * 7) + ($r6 * 1) + ($r7 * 3) + ($r8 * 7); $checksum = $checksum % 10; $checksum = 10 - $checksum; if ($checksum == 10) { $checksum = 0; } if ($checksum != $r9) { return 0; } return (1); } function myLog ($msg) { return; if ($this->log_fh == 0) { $this->log_fname = "/tmp/jlb_log.txt"; # unlink ($this->log_fname); # $this->log_fh = fopen ($this->log_fname, "wb"); $this->log_fh = fopen ($this->log_fname, "ab"); } fputs ($this->log_fh, $msg); fflush ($this->log_fh); } function logVARS ($msg) { global $_POST; global $_GET; $this->myLog ("VARS ($msg)\n"); $this->myLog ("SHOW POST VARS\n"); foreach ($_POST as $key => $value) { $this->myLog (" KEY ($key) VALUE ($value)\n"); } $this->myLog ("SHOW POST VARS DONE\n"); $this->myLog ("SHOW GET VARS\n"); foreach ($_GET as $key => $value) { $this->myLog (" KEY ($key) VALUE ($value)\n"); } $this->myLog ("SHOW GET VARS DONE\n"); } function duplicate_epn_vars () { global $_POST; $return_string = ''; $lookfor = 'eprocessing_'; $looklen = strlen ($lookfor); foreach ($_POST as $key => $value) { if (!strcmp (substr ($key, 0, $looklen), $lookfor)) { $return_string = $return_string . '&' . $key . '=' . urlencode ($value); } } return $return_string; } function pre_confirmation_check() { global $_POST; // We don't confirm if OSCommerce is not collecting the CC# if (!$this->eproc_gets_cc) { $error = ''; $result = true; $payment_type = $_POST['eprocessing_payment_type']; if (!strcmp ($payment_type, "Check")) { $routing = $_POST['eprocessing_ccfs_routing']; $account = $_POST['eprocessing_ccfs_account']; $check = $_POST['eprocessing_ccfs_check']; $bankname = $_POST['eprocessing_ccfs_bankname']; if (strlen ($account) < 1 || !(ctype_digit ($account))) { $error = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNT_ERROR; $result = false; } if (strlen ($check) < 1 || !(ctype_digit ($check))) { $error = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CHECK_ERROR; $result = false; } if (strlen ($bankname) < 1) { $error = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_BANKNAME_ERROR; $result = false; } if (strlen ($routing) != 9 || !(ctype_digit ($routing)) || ($this->RoutingMod10 ($routing)) == 0) { $error = MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ROUTING_ERROR; $result = false; } } else { include('includes/classes/cc_validation.php'); $cc_validation = new cc_validation(); $result = $cc_validation->validate( $_POST['eprocessing_cc_number'], $_POST['eprocessing_cc_expires_month'], $_POST['eprocessing_cc_expires_year']); $error = ''; switch ($result) { case -1: $error = sprintf( TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4)); break; case -2: case -3: case -4: $error = TEXT_CCVAL_ERROR_INVALID_DATE; break; case false: $error = TEXT_CCVAL_ERROR_INVALID_NUMBER; $result = false; break; } $this->cc_card_type = $cc_validation->cc_type; $this->cc_card_number = $cc_validation->cc_number; $this->cc_expiry_month = $cc_validation->cc_expiry_month; $this->cc_expiry_year = $cc_validation->cc_expiry_year; $this->cc_cvv2_type = $_POST['eprocessing_cc_cvv2_type']; $this->cc_cvv2 = $_POST['eprocessing_cc_cvv2']; } if (($result == false) || ($result < 1)) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . $this->duplicate_epn_vars (); tep_redirect(tep_href_link( 'checkout_payment.php', $payment_error_return, 'SSL', true, false)); } } } function confirmation() { global $_POST; // don't confirm if OSCommerce is not collecting the CC# if (!$this->eproc_gets_cc) { $payment_type = $_POST['eprocessing_payment_type']; if (!strcmp ($payment_type, "Check")) { $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type, 'fields' => array(array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_OWNER, 'field' => $_POST['eprocessing_cc_owner']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ROUTING, 'field' => $_POST['eprocessing_ccfs_routing']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ACCOUNT, 'field' => $_POST['eprocessing_ccfs_account']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CHECK, 'field' => $_POST['eprocessing_ccfs_check']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_BANKNAME, 'field' => $_POST['eprocessing_ccfs_bankname']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_COMPANYNAME, 'field' => $_POST['eprocessing_ccfs_companyname']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_FIRSTNAME, 'field' => $_POST['eprocessing_ccfs_firstname']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_LASTNAME, 'field' => $_POST['eprocessing_ccfs_lastname']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ADDRESS, 'field' => $_POST['eprocessing_ccfs_address']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_CITY, 'field' => $_POST['eprocessing_ccfs_city']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_STATE, 'field' => $_POST['eprocessing_ccfs_state']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_ZIP, 'field' => $_POST['eprocessing_ccfs_zip']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CCFS_PHONE, 'field' => $_POST['eprocessing_ccfs_phone']) )); } else { $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type, 'fields' => array(array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_OWNER, 'field' => $_POST['eprocessing_cc_owner']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0, $_POST['eprocessing_cc_expires_month'], 1, '20' . $_POST['eprocessing_cc_expires_year']))), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2_TYPE, 'field' => $_POST['eprocessing_cc_cvv2_type']), array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_CVV2, 'field' => $_POST['eprocessing_cc_cvv2']) )); } } else { $confirmation = ''; } return $confirmation; } function process_button() { global $_SERVER, $order, $customer_id; global $_POST; if ($this->eproc_gets_cc) { $process_button_string = tep_draw_hidden_field ('ePNAccount', MODULE_PAYMENT_EPROCESSINGNETWORK_LOGIN); // if OSCommerce collected the CC# then send it on to eProc if (strlen ($this->logo_url) > 6) { $process_button_string .= tep_draw_hidden_field ('LogoURL', $this->logo_url); } if (strlen ($this->bck_color) > 2) { $process_button_string .= tep_draw_hidden_field ('BackgroundColor', $this->bck_color); } if (strlen ($this->text_color) > 2) { $process_button_string .= tep_draw_hidden_field ('TextColor', $this->text_color); } $process_button_string .= tep_draw_hidden_field ('Total', $order->info['total']) . tep_draw_hidden_field('Address', $order->customer['street_address']) . tep_draw_hidden_field('Zip', $order->customer['postcode']) . tep_draw_hidden_field('City', $order->customer['city']) . tep_draw_hidden_field('State', $order->customer['state']) . tep_draw_hidden_field('EMail', $order->customer['email_address']) . tep_draw_hidden_field('ID', tep_session_id ()) . tep_draw_hidden_field('ApprovedURL', tep_href_link('checkout_process.php', '', 'SSL', false)) . tep_draw_hidden_field('DeclinedURL', tep_href_link('eprocfail.php', '', 'SSL', false)); // now take care of some cosmetic issues // $process_button_string .= // tep_draw_hidden_field( // tep_session_name(), // tep_session_id() // ); } else { # We will use TDBE to do the work but process through the # oscommerce system. $process_button_string = tep_draw_hidden_field ('ePNAccount', MODULE_PAYMENT_EPROCESSINGNETWORK_LOGIN); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('HTML', 'No'); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Swiped', '0'); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Inv', 'report'); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Total', $order->info['total']); $process_button_string .= "\n"; if (strlen (MODULE_PAYMENT_EPROCESSINGNETWORK_RESTRICT_KEY) > 0) { $process_button_string .= tep_draw_hidden_field ('RestrictKey', MODULE_PAYMENT_EPROCESSINGNETWORK_RESTRICT_KEY); $process_button_string .= "\n"; } $payment_type = $this->getValue ('eprocessing_payment_type'); if (!strcmp ($payment_type, "Check")) { $process_button_string .= tep_draw_hidden_field ('PaymentType', 'Check'); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Routing', $this->getValue ('eprocessing_ccfs_routing')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('CheckAcct', $this->getValue ('eprocessing_ccfs_account')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Check', $this->getValue ('eprocessing_ccfs_check')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('BankName', $this->getValue ('eprocessing_ccfs_bankname')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('AccountType', $this->getValue ('eprocessing_ccfs_accounttype')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('AccountClass', $this->getValue ('eprocessing_ccfs_accountclass')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Company', $this->getValue ('eprocessing_ccfs_companyname')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('FirstName', $this->getValue ('eprocessing_ccfs_firstname')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('LastName', $this->getValue ('eprocessing_ccfs_lastname')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Address', $this->getValue ('eprocessing_ccfs_address')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('City', $this->getValue ('eprocessing_ccfs_city')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('State', $this->getValue ('eprocessing_ccfs_state')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Zip', $this->getValue ('eprocessing_ccfs_zip')); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('Phone', $this->getValue ('eprocessing_ccfs_phone')); $process_button_string .= "\n"; } else { $process_button_string .= tep_draw_hidden_field ('TranType', 'Sale'); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('CardNo', $_POST['eprocessing_cc_number']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('ExpMonth', $_POST['eprocessing_cc_expires_month']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field ('ExpYear', $_POST['eprocessing_cc_expires_year']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('FirstName', $order->billing['firstname']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('LastName', $order->billing['lastname']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('Address', $order->customer['street_address']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('Zip', $order->customer['postcode']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('City', $order->customer['city']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('State', $order->customer['state']); $process_button_string .= "\n"; $process_button_string .= tep_draw_hidden_field('EMail', $order->customer['email_address']); $process_button_string .= "\n"; } } return $process_button_string; } function before_process() { global $_POST; while (list($key,$value) = each($_POST)) { $data .= $key . '=' . urlencode(preg_replace('/,/', '', $value)) . '&'; } $data = substr($data, 0, -1); unset($response); $ch=curl_init( "https://www.eProcessingNetwork.com/cgi-bin/tdbe/transact.pl"); // normal // POST // request curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); // set // response // to // return // as // variable curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); // trap // response // into // $response // var global $response; $response = curl_exec($ch); // close // cURL // transfer curl_close($ch); $x_response_code = substr ($response, 1, 1); $x_remainder = substr ($response, 2); $x_idx = strpos ($x_remainder, '"'); $x_message = substr ($x_remainder, 0, $x_idx); if ($x_response_code != 'Y') { if ($x_response_code == 'U') { tep_redirect( tep_href_link('checkout_payment.php', 'error_message=' . urlencode(MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_UNABLE_MESSAGE . '/' . $x_message), 'SSL', true, false)); } else if ($x_response_code == 'N') { tep_redirect( tep_href_link('checkout_payment.php', 'error_message=' . urlencode(MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_DECLINED_MESSAGE . '/' . $x_message), 'SSL', true, false)); } } } function after_process() { return false; } function get_error() { global $_GET; $error = array('title' => MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_ERROR, 'error' => stripslashes(urldecode($_GET['error']))); return $error; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_EPROCESSINGNETWORK_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 eProcessingNetwork Module', 'MODULE_PAYMENT_EPROCESSINGNETWORK_STATUS', 'True', 'Do you want to accept eProcessingNetwork payments?', '6', '0', '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, set_function, date_added) values ('Enable eProcessingNetwork To Collect CC#', 'MODULE_PAYMENT_EPROCESSINGNETWORK_CC', 'False', 'Do you want eProcessingNetwork to Collect the Credit Card Number??', '6', '0', '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 ('Login Username', 'MODULE_PAYMENT_EPROCESSINGNETWORK_LOGIN', 'testing', 'The login username used for the eProcessingNetwork service', '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 ('URL for Store Logo', 'MODULE_PAYMENT_EPROCESSINGNETWORK_LOGO_URL', '', 'The URL to a logo to be used by eProcessing to display during transactions', '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 ('Background Color', 'MODULE_PAYMENT_EPROCESSINGNETWORK_BCK_COLOR', '#FFFFFF', 'The Background Color in Hex format:', '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 ('Text Color', 'MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_COLOR', '#000000', 'The Color of the Text in Hex format:', '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, date_added) values ('Do you accept VISA', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_VISA', 'False', 'Do you accept VISA?', '6', '0', '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, set_function, date_added) values ('Do you accept MASTERCARD', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_MC', 'False', 'Do you accept MASTERCARD?', '6', '0', '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, set_function, date_added) values ('Do you accept AMERICAN EXPRESS', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_AMEX', 'False', 'Do you accept AMERICAN EXPRESS?', '6', '0', '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, set_function, date_added) values ('Do you accept DISCOVER', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DS', 'False', 'Do you accept DISCOVER?', '6', '0', '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, set_function, date_added) values ('Do you accept DINERS CLUB', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DN', 'False', 'Do you accept DINERS CLUB?', '6', '0', '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, set_function, date_added) values ('Do you accept JCB', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_JCB', 'False', 'Do you accept JCB?', '6', '0', '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, set_function, date_added) values ('Do you accept CARTE BLANCHE?', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CB', 'False', 'Do you accept CARTE BLANCHE?', '6', '0', '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 ('Restrict Key:', 'MODULE_PAYMENT_EPROCESSINGNETWORK_RESTRICT_KEY', '', 'If your account uses an ePN Restrict Key enter it here.', '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, date_added) values ('Do you accept CCFS', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CCFS', 'False', 'Do you accept Checks with CCFS?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now()))"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array( 'MODULE_PAYMENT_EPROCESSINGNETWORK_STATUS', 'MODULE_PAYMENT_EPROCESSINGNETWORK_LOGIN', 'MODULE_PAYMENT_EPROCESSINGNETWORK_CC', 'MODULE_PAYMENT_EPROCESSINGNETWORK_LOGO_URL', 'MODULE_PAYMENT_EPROCESSINGNETWORK_BCK_COLOR', 'MODULE_PAYMENT_EPROCESSINGNETWORK_TEXT_COLOR', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_VISA', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_MC', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_AMEX', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DS', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_DN', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_JCB', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CB', 'MODULE_PAYMENT_EPROCESSINGNETWORK_RESTRICT_KEY', 'MODULE_PAYMENT_EPROCESSINGNETWORK_ACCEPT_CCFS' ); } function update_status () { } } ?>
  3. otgrouch

    Eprocessing Network Payment Gateway

    I have it loaded but am also having problems (installed on Frozen). Mine runs the card, then returns the customer to the index.php page instead of checkout_success. No order is created and the items are still in the customer cart. I have it running on a 2.3.2 store with no issues and comparing files I cannot find anything different between the new and old versions. Quite frustrating.
  4. otgrouch

    PayPal Website Payments Standard - IPN error

    I have chosen to ignore it unless PayPal actually takes action against me for too many bounces (not likely, but with them you never know). My IPN notifications eventually do go through - they just take a few times.
  5. otgrouch

    PayPal Website Payments Standard - IPN error

    Of course I did. The changes made to function.php had to do with the ups module. I'll look that file over again, but the site is performing flawlessly with the exception of these IPN error emails (the IPNs eventually go through, they just seem to be taking their time and bouncing back and forth before they do).
  6. I only just recently started receiving emails from PayPal with the following message: I have never gotten this error before and coincidentally it follows on the heels of the required changes to conform to new USPS package labeling standards. The site was running error free through 7/27, and has started getting numerous IPN retries as of 7/28. The only files I touched on the 28th were admin/functions/general.php and modules/shipping/usps.php and I can't see anything in those that would affect the payment handoff. Any ideas?
  7. otgrouch

    Credit Class & Gift Vouchers (CCGV) for 2.3.1

    I just ran into this. In paypal_standard.php, find this: function before_process() { global $customer_id, $order, $order_totals, $sendto, $billto, $languages_id, $payment, $currencies, $cart, $cart_PayPal_Standard_ID; global $$payment; and change it to this: function before_process() { global $customer_id, $order, $order_totals, $sendto, $billto, $languages_id, $payment, $currencies, $cart, $order_total_modules, $cart_PayPal_Standard_ID; global $$payment; That eliminated the errors when returning to the site from paypal.
  8. otgrouch

    Credit Class & Gift Vouchers (CCGV) for 2.3.1

    All righty...I found my problem. Unlike older versions of CCGV, you MUST install both the gv and coupon modules via the admin panel or your site format will be all messed up when you get to checkout_payment.php. If you only install the gv module, the payment process ends up in a redirect loop that never lets you off of the payment page - you have to install BOTH gv and coupon via the admin panel for the checkout payment process to function. I don't really understand the logic behind making a module that gives you the option to not install it...but that renders your site non-functional unless you do - but I'm glad that after a week of staring at code I've got it working.
  9. otgrouch

    Credit Class & Gift Vouchers (CCGV) for 2.3.1

    Just for kicks, I killed the database and started with a clean sheet of paper. New 2.3.1 install with a fresh database. Dropped the files from the contribution on top of the new install and I have the same problem. I think there's a problem with the code in the contribution at this point.
  10. otgrouch

    Credit Class & Gift Vouchers (CCGV) for 2.3.1

    Still can't get this one to work on 2.3....I've compared all of the files, moved lines of code around, compared it to the old version which works on my 2.2 installation. Nothing I do gets the Voucher/Coupon box to show up on the checkout_payment page. No one has any pointers?
  11. otgrouch

    Credit Class & Gift Vouchers (CCGV) for 2.3.1

    I've got this installed - the admin side seems to be working properly and I can purchase and send vouchers. The voucher balance shows up under my shopping cart, but at checkout_payment.php, I do not get the separate box for 'click here to use voucher balance' or 'enter redeem code'. There is also a table tag in checkout_payment.php that isn't closed and is causing a format error on the page when displayed (the side column boxes show up inside the payment box). I fixed this by removing the table tag in this part of the code: // Start - CREDIT CLASS Gift Voucher Contribution if (tep_session_is_registered('customer_id')) { if ($gv_result['amount']>0){ echo ' <tr><td width="10">' . tep_draw_separator('pixel_trans.gif', '10', '1') .'</td><td colspan=2>' . "\n" . ' <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr class="moduleRow" onmouseover="rowOverEffect(this)" onclick="clearRadeos()" onmouseout="rowOutEffect(this)" >' . "\n" . ' <td width="10">' . tep_draw_separator('pixel_trans.gif', '10', '1') .'</td><td class="main">' . $gv_result['text']; echo $order_total_modules->sub_credit_selection(); } } // End - CREDIT CLASS Gift Voucher Contribution I can also fix it by inserting a </table> in an appropriate place within that block of code. As far as I can tell, the code to place the GV tick box is in the order_total files and I've made the appropriate changes to those...so I don't have any idea why they aren't showing up. I had CCGV installed on a 2.2 store with no issues, but all I'm getting with this install is the ability to purchase but not use vouchers. Any help?
  12. N/M found the code in zones.php that was shutting it off under 3lbs.
  13. otgrouch

    Anyone else having problems with USPS Rates?

    Don't know what they did, but it's back up to speed as of about half an hour ago. Before that, I was getting multiple fsock errors.
  14. Since the USPS server is having fits, I figured I'd just kick shipping over to a flat zone based rate table that I've had in use for a while. It's the zone based rate module that comes with v2.2, with no add ons. For some reason, no rates are being returned unless the shipment exceeds 3lbs. That was my 3rd tier on the table, so I tried making two tiers at .001 and .002 lbs, but that didn't fix it. I can't find any reason why it would ignore the smaller weights...anyone got insight?
  15. otgrouch

    having problems setting up USPS module

    Don't base much of your experience on what's happening today - the USPS server appears to be acting up. I didn't change anything and it stopped sending rates or took a really long time to deliver one.
×