Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Problem with My Payment Page


211655

Recommended Posts

Hi,

This is my cc.php

 

I cannot make the CVV a required field for some reason. Please can anyone guide me.

 

it also gives me a javascript error

Thanks

<?php
/*
?$Id: cc.php,v 1.10 2002/11/01 05:14:11 hpdl Exp $

?osCommerce, Open Source E-Commerce Solutions
?http://www.oscommerce.com

?Copyright (c) 2002 osCommerce

?Released under the GNU General Public License
*/

?class cc {
? ?var $code, $title, $description, $enabled;

// class constructor
? ?function cc() {
? ? ?global $order;

? ? ?$this->code = 'cc';
? ? ?$this->title = MODULE_PAYMENT_CC_TEXT_TITLE;
? ? ?$this->description = MODULE_PAYMENT_CC_TEXT_DESCRIPTION;
? ? ?$this->sort_order = MODULE_PAYMENT_CC_SORT_ORDER;
? ? ?$this->enabled = ((MODULE_PAYMENT_CC_STATUS == 'True') ? true : false);

? ? ?if ((int)MODULE_PAYMENT_CC_ORDER_STATUS_ID > 0) {
? ? ? ?$this->order_status = MODULE_PAYMENT_CC_ORDER_STATUS_ID;
? ? ?}

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

// class methods
? ?function update_status() {
? ? ?global $order;

? ? ?if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_CC_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_CC_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;
? ? ? ?}
? ? ?}
? ?}

// begin cvv contribution 
? ?function javascript_validation() { 
? ? ?$js = ' ?if (payment_value == "' . $this->code . '") {' . "\n" . 
? ? ? ? ? ?' ? ?var cc_owner = document.checkout_payment.cc_owner.value;' . "\n" . 
? ? ? ? ? ?' ? ?var cc_number = document.checkout_payment.cc_number.value;' . "\n" . 
? ? ? ? ' ? ?var cvvnumber = document.checkout_payment.cvvnumber.value;' . "\n" . 
? ? ? ? ? ?' ? ?if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . 
? ? ? ? ? ?' ? ? ?error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_OWNER . '";' . "\n" . 
? ? ? ? ? ?' ? ? ?error = 1;' . "\n" . 
? ? ? ? ? ?' ? ?}' . "\n" . 
? ? ? ? ? ?' ? ?if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" . 
? ? ? ? ? ?' ? ? ?error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_NUMBER . '";' . "\n" . 
? ? ? ? ? ?' ? ? ?error = 1;' . "\n" . 
? ? ? ? ? ?' ? ?}' . "\n" . ? ? ? ? ?
? ? ? ? ? ?' ? ?if (cvvnumber.length > ' . CVVNUMBER_MAX_LENGTH . ') {' . "\n" . 
? ? ? ? ? ?' ? ? ?error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_MAXCVVNUMBER . '";' . "\n" . 
? ? ? ? ? ?' ? ? ?error = 1;' . "\n" . 
? ? ? ? ? ?' ? ?}' . "\n" . ? ? ? ? ?
? ? ? ? ? ?' ? ?if (cvvnumber == ""|| cvvnumber.length < ' . CVVNUMBER_MIN_LENGTH . ') {' . "\n" . 
? ? ? ? ? ?' ? ? ?error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CVVNUMBER . '";' . "\n" . 
? ? ? ? ? ?' ? ? ?error = 1;' . "\n" . 
? ? ? ? ? ?' ? ?}' . "\n" . 
? ? ? ? ? ?' ?}' . "\n"; 

? ? ?return $js; 
? ?} 
// end cvv contribution

? ?function selection() {
? ? ?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)));
? ? ?}

? ? ?$selection = array('id' => $this->code,
? ? ? ? ? ? ? ? ? ? ? ? 'module' => $this->title,
? ? ? ? ? ? ? ? ? ? ? ? 'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'field' => tep_draw_input_field('cc_number')),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('cc_expires_year', $expires_year)),
// begin cvv contribution
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVVNUMBER . ' ' .'<a href="javascript:popupWindow(\'' . tep_href_link(FILENAME_POPUP_CVV, '', 'SSL') . '\')">' . TEXT_CVV_LINK . '</a>',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'field' => tep_draw_input_field('cvvnumber'))));
// end cvv contribution
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
? ? ?return $selection;
? ?}

? ?function pre_confirmation_check() {
? ? ?global $HTTP_POST_VARS;

? ? ?include(DIR_WS_CLASSES . 'cc_validation.php');
// begin cvv contribution
? ? ?$cc_validation = new cc_validation();
? ? ?$result = $cc_validation->validate($HTTP_POST_VARS['cc_number'], $HTTP_POST_VARS['cc_expires_month'], $HTTP_POST_VARS['cc_expires_year'], $HTTP_POST_VARS['cvvnumber']);
// end cvv contribution ? ? ? ?
? ? ?$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;
? ? ? ? ?break;
? ? ?}

? ? ?if ( ($result == false) || ($result < 1) ) {
? ? ? ?$payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&cc_owner=' . urlencode($HTTP_POST_VARS['cc_owner']) . '&cc_expires_month=' . $HTTP_POST_VARS['cc_expires_month'] . '&cc_expires_year=' . $HTTP_POST_VARS['cc_expires_year'];

? ? ? ?tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
? ? ?}

? ? ?$this->cc_card_type = $cc_validation->cc_type;
? ? ?$this->cc_card_number = $cc_validation->cc_number;
? ?}

? ?function confirmation() {
? ? ?global $HTTP_POST_VARS;

? ? ?$confirmation = array('title' => $this->title . ': ' . $this->cc_card_type,
? ? ? ? ? ? ? ? ? ? ? ? ? ?'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'field' => $HTTP_POST_VARS['cc_owner']),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?array('title' => MODULE_PAYMENT_CC_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_CC_TEXT_CREDIT_CARD_EXPIRES,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['cc_expires_month'], 1, '20' . $HTTP_POST_VARS['cc_expires_year']))),
// begin cvv contribution
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVVNUMBER,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'field' => $HTTP_POST_VARS['cvvnumber'])));
// end cvv contribution
? ? ? ? ?
? ? ?return $confirmation;
? ?}

? ?function process_button() {
? ? ?global $HTTP_POST_VARS;

//begin cvv contribution
? ? ?$process_button_string = tep_draw_hidden_field('cc_owner', $HTTP_POST_VARS['cc_owner']) .
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tep_draw_hidden_field('cc_expires', $HTTP_POST_VARS['cc_expires_month'] . $HTTP_POST_VARS['cc_expires_year']) .
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tep_draw_hidden_field('cc_type', $this->cc_card_type) .
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tep_draw_hidden_field('cc_number', $this->cc_card_number) . 
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tep_draw_hidden_field('cvvnumber', $this->cvvnumber);
// end cvv contribution

? ? ?return $process_button_string;
? ?}

? ?function before_process() {
? ? ?global $HTTP_POST_VARS, $order;

? ? ?if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) {
? ? ? ?$len = strlen($HTTP_POST_VARS['cc_number']);

? ? ? ?$this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8));
? ? ? ?$order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4);
? ? ?}
? ?}

? ?function after_process() {
? ? ?global $insert_id;

? ? ?if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) {
? ? ? ?$message = 'Order #' . $insert_id . "\n\n" . 'Middle: ' . $this->cc_middle . "\n\n";
? ? ? ?
? ? ? ?tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
? ? ?}
? ?}

? ?function get_error() {
? ? ?global $HTTP_GET_VARS;

? ? ?$error = array('title' => MODULE_PAYMENT_CC_TEXT_ERROR,
? ? ? ? ? ? ? ? ? ? 'error' => stripslashes(urldecode($HTTP_GET_VARS['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_CC_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 Credit Card Module', 'MODULE_PAYMENT_CC_STATUS', 'True', 'Do you want to accept credit card 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, date_added) values ('Split Credit Card E-Mail Address', 'MODULE_PAYMENT_CC_EMAIL', '', 'If an e-mail address is entered, the middle digits of the credit card number will be sent to the e-mail address (the outside digits are stored in the database with the middle digits censored)', '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 ('Sort order of display.', 'MODULE_PAYMENT_CC_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_CC_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_CC_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_CC_STATUS', 'MODULE_PAYMENT_CC_EMAIL', 'MODULE_PAYMENT_CC_ZONE', 'MODULE_PAYMENT_CC_ORDER_STATUS_ID', 'MODULE_PAYMENT_CC_SORT_ORDER');
? ?}
?}
?>

Link to comment
Share on other sites

  • 2 months later...
ny one plz.... any idea.....

 

guidence....

 

 

This is my /catalog/includes/modules/payment/cc.php

 

<?php
/*
 $Id: cc.php,v 1.53 2003/02/04 09:55:01 project3000 Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 class cc {
   var $code, $title, $description, $enabled;

// class constructor
   function cc() {
     global $order;

     $this->code = 'cc';
     $this->title = MODULE_PAYMENT_CC_TEXT_TITLE;
     $this->description = MODULE_PAYMENT_CC_TEXT_DESCRIPTION;
     $this->sort_order = MODULE_PAYMENT_CC_SORT_ORDER;
     $this->enabled = ((MODULE_PAYMENT_CC_STATUS == 'True') ? true : false);

     if ((int)MODULE_PAYMENT_CC_ORDER_STATUS_ID > 0) {
       $this->order_status = MODULE_PAYMENT_CC_ORDER_STATUS_ID;
     }

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

// class methods
   function update_status() {
     global $order;

     if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_CC_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_CC_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() {
     $js = '  if (payment_value == "' . $this->code . '") {' . "\n" .
           '    var cc_owner = document.checkout_payment.cc_owner.value;' . "\n" .
           '    var cc_number = document.checkout_payment.cc_number.value;' . "\n" .
           '    var cc_cvv2 = document.checkout_payment.cc_cvv2.value;' . "\n" .
           '    if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" .
           '      error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_OWNER . '";' . "\n" .
           '      error = 1;' . "\n" .
           '    }' . "\n" .
           '    if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" .
           '      error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_NUMBER . '";' . "\n" .
           '      error = 1;' . "\n" .
           '    }' . "\n" .
           '    if (cc_cvv2 == "" || cc_cvv2.length < ' . CC_CVV2_MIN_LENGTH . ') {' . "\n" .
           '      error_message = error_message + "' . MODULE_PAYMENT_CC_TEXT_JS_CC_CVV2 . '";' . "\n" .
           '      error = 1;' . "\n" .
           '    }' . "\n" .
           '  }' . "\n";

     return $js;
   }

   function selection() {
     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)));
     }

     $selection = array('id' => $this->code,
                        'module' => $this->title,
                        'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
                                                'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])),
                                          array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER,
                                                'field' => tep_draw_input_field('cc_number')),
                                          array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVV2 . ' ' .'<a href="javascript:popupWindow(\'' . tep_href_link(FILENAME_POPUP_CVV, '', 'SSL') . '\')">' . TEXT_CVV_LINK . '</a>',
                                                'field' => tep_draw_input_field('cc_cvv2')),
                                          array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES,
                                                'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('cc_expires_year', $expires_year))));

     return $selection;
   }

   function pre_confirmation_check() {
     global $HTTP_POST_VARS;

     include(DIR_WS_CLASSES . 'cc_validation.php');

     $cc_validation = new cc_validation();
     $result = $cc_validation->validate($HTTP_POST_VARS['cc_number'], $HTTP_POST_VARS['cc_expires_month'], $HTTP_POST_VARS['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;
         break;
     }

     if ( ($result == false) || ($result < 1) ) {
       $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&cc_owner=' . urlencode($HTTP_POST_VARS['cc_owner']) . '&cc_expires_month=' . $HTTP_POST_VARS['cc_expires_month'] . '&cc_expires_year=' . $HTTP_POST_VARS['cc_expires_year'];

       tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
     }

     $this->cc_card_type = $cc_validation->cc_type;
     $this->cc_card_number = $cc_validation->cc_number;
   }

   function confirmation() {
     global $HTTP_POST_VARS;

     $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type,
                           'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
                                                   'field' => $HTTP_POST_VARS['cc_owner']),
                                             array('title' => MODULE_PAYMENT_CC_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_CC_TEXT_CREDIT_CARD_CVV2,
                                                   'field' => $_POST['cc_cvv2']),
                                             array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES,
                                                   'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['cc_expires_month'], 1, '20' . $HTTP_POST_VARS['cc_expires_year'])))));

     return $confirmation;
   }

   function process_button() {
     global $HTTP_POST_VARS;

     $process_button_string = tep_draw_hidden_field('cc_owner', $HTTP_POST_VARS['cc_owner']) .
                              tep_draw_hidden_field('cc_expires', $HTTP_POST_VARS['cc_expires_month'] . $HTTP_POST_VARS['cc_expires_year']) .
                              tep_draw_hidden_field('cc_type', $this->cc_card_type) .
                              tep_draw_hidden_field('cc_number', $this->cc_card_number) .
                              tep_draw_hidden_field('cc_cvv2', $HTTP_POST_VARS['cc_cvv2']);

     return $process_button_string;
   }

   function before_process() {
     global $HTTP_POST_VARS, $order;

     if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) {
       $len = strlen($HTTP_POST_VARS['cc_number']);

       $this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8));
       $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4);
     }
   }

   function after_process() {
     global $insert_id;

     if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) {
       $message = 'Order #' . $insert_id . "\n\n" . 'Middle: ' . $this->cc_middle . "\n\n";

       tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
     }
   }

   function get_error() {
     global $HTTP_GET_VARS;

     $error = array('title' => MODULE_PAYMENT_CC_TEXT_ERROR,
                    'error' => stripslashes(urldecode($HTTP_GET_VARS['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_CC_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 Credit Card Module', 'MODULE_PAYMENT_CC_STATUS', 'True', 'Do you want to accept credit card 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, date_added) values ('Split Credit Card E-Mail Address', 'MODULE_PAYMENT_CC_EMAIL', '', 'If an e-mail address is entered, the middle digits of the credit card number will be sent to the e-mail address (the outside digits are stored in the database with the middle digits censored)', '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 ('Sort order of display.', 'MODULE_PAYMENT_CC_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_CC_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_CC_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_CC_STATUS', 'MODULE_PAYMENT_CC_EMAIL', 'MODULE_PAYMENT_CC_ZONE', 'MODULE_PAYMENT_CC_ORDER_STATUS_ID', 'MODULE_PAYMENT_CC_SORT_ORDER');
   }
 }
?>

 

This is my /catalog/includes/language/english/modules/payment/cc.php

 

<?php
/*
 $Id: cc.php,v 1.10 2002/11/01 05:14:11 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2002 osCommerce

 Released under the GNU General Public License
*/

 define('HEADING_CVV', 'Security Code Help Screen');
 define('TEXT_CVV', '<table align="center" cellspacing="2" cellpadding="5" width="400"><tr><td><span class="fancyText"><b>Visa, Mastercard, Discover 3 Digit Card Verification Number</b></span></td></tr><tr><td><span class="fancyText">For your safety and security, we require that you enter your card\'s verification number. The verification number is a 3-digit number printed on the back of your card. It appears after and to the right of your card number\'s last four digits.</span></td></tr><tr><td align="center"><IMG src="images/cv_card.gif"></td></tr></table><hr><table align="center" cellspacing="2" cellpadding="5" width="400"><tr><td><span class="fancyText"><b>American Express 4 Digit Card Verification Number</b> </span></td></tr><tr><td><span class="fancyText">For your safety and security, we require that you enter your card\'s verification number. The American Express verification number is a 4-digit number printed on the front of your card. It appears after and to the right of your card number.</span></td></tr><tr><td align="center"><IMG src="images/cv_amex_card.gif"></td></tr></table>');
 define('TEXT_CLOSE_WINDOW', '<u>Close Window</u> [x]');
 define('TEXT_CVV_LINK', '<u>[help?]</u>');

 define('MODULE_PAYMENT_CC_TEXT_TITLE', 'Credit Card');
 define('MODULE_PAYMENT_CC_TEXT_DESCRIPTION', 'Credit Card Test Info:<br><br>CC#: 4111111111111111<br>Expiry: Any');
 define('MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_TYPE', 'Credit Card Type:');
 define('MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER', 'Credit Card Owner:');
 define('MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER', 'Credit Card Number:');
 define('MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_CVV2', 'CVV2:');
 define('MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES', 'Credit Card Expiry Date:');
 define('MODULE_PAYMENT_CC_TEXT_JS_CC_OWNER', '* The owner\'s name of the credit card must be at least ' . CC_OWNER_MIN_LENGTH . ' characters.\n');
 define('MODULE_PAYMENT_CC_TEXT_JS_CC_NUMBER', '* The credit card number must be at least ' . CC_NUMBER_MIN_LENGTH . ' characters.\n');
 define('MODULE_PAYMENT_CC_TEXT_JS_CC_CVV2', '* You must include the Verification Code located on Credit Card ' . CC_CVV2_MIN_LENGTH . ' characters.\n');
 define('MODULE_PAYMENT_CC_TEXT_ERROR', 'Credit Card Error!');
?>

 

Now for the sql... to determine the min length.

 

INSERT INTO configuration VALUES ( 230, 'Credit Card CVV', 'CC_CVV2_MIN_LENGTH', 3, 'Minimum Length of CVV2 Number', 2, 19, '2003-02-20 10:30:00', '2003-02-20 10:30:00', NULL , NULL );

 

For you it would be ...

 

INSERT INTO configuration VALUES ( 230, 'Credit Card CVV', 'CVVNUMBER_MIN_LENGTH', 3, 'Minimum Length of CVV2 Number', 2, 19, '2003-02-20 10:30:00', '2003-02-20 10:30:00', NULL , NULL );

 

CVVNUMBER_MIN_LENGTH', 3, 'Minimum Length of CVV2 Number

change 3 to whatever u want for min lenght....

 

Hope i was able to help somewhat...

 

--Jeremy

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...