Jump to content
Sign in to follow this  
ttt2

cvv v1.24 help

Recommended Posts

I installed the cvv 1.24. Seems to work fine during test order. It asked for CVV and order process finished without errors. The problem is in Admin. When I look up the order in Admin the CVV is blank.

 

Payment Method: Credit Card

 

Credit Card Type: Visa

CVV Number: *delete image here*

Credit Card Owner:

Credit Card Number: 4111111111111111

Credit Card Expires: 0104

 

I'm a bit confuse on the sql part:

 

***If you have not altered your Configuration Table in the database:

 

INSERT INTO configuration VALUES ( 185, 'CVV2 Number', 'CVVNUMBER_MIN_LENGTH', 3, 'Minimum Length of CVV2 Number', 2, 17, '2004-01-08 10:30:00', '2004-01-08 10:30:00', NULL , NULL );

 

***If you have made some alterations to the Configuration Table you will need to change the '185' and '17' to represent the next configuration_id and sort_order(group 2) for your particular database.

 

Now, I don't know anything on SQL and not sure what 185 and 17 represent. Maybe this is where the problem is. Someone please help.

 

Thanks

Edited by ttt2

Share this post


Link to post
Share on other sites

Does the CVV number appear in your database in the ORDERS table? Also it looks like you have the CVV number listed in a different spot than it is supposed to be in the contribution...it should be the last item below the expiration date. Not that you could not put it elsewhere, but if you just cut and paste from the text file in the contribution and place it in a spot other than where specified a semi-colon or something could be in the wrong place.

Share this post


Link to post
Share on other sites

I fixed the problems. For Admin I decided to replace with your files to make sure its not Admin problem. That fixed it. As for the CVV not save to database, it was a copy/paste mistake. The ";" as you mention was the problem. I can't believe I screwed up. I check over the files 4 times already.

 

Anyways, thanks for all your help.

Share this post


Link to post
Share on other sites

Since, I'm new to mysql, took me a while to figure out how to use the right numbers as specified when installing CVV 1.24.

 

For those who went got lost on the instruction for "INSERT INTO configuration VALUES......", here is what you can do step by step:

 

Login to cPanel (if your host provide you one), select phpMyAdmin.

On right window, click on Databases

Click on your osCommerce database name

Find under the table column the row configuration

Click on Browse link of that row

Click on the 3rd column table header named configuration_id (twice to change the sort order)

Write down the last configuration_id number (ie. 242).

 

Go back to your instruction, change 185 to 243 and 186 to 244

 

Now open another browser window and login to your osCommerce admin

Select Configuration

Select Minimum Values

Start counting the rows (should be about 16 if nothing changes)

So 17 is for the 17th row that will be added

 

Select Maximum Values

Start counting the rows (mine is 19)

So 20 is what I should edit to

 

Now go back to your phpMyAdmin window

Click on configuration from the left window

Find the box: Run SQL query/queries on database yourosCommercedatabasename

Paste the edit instructions and hit go for each instruction

 

Hope this help for fellow new users. :lol:

Share this post


Link to post
Share on other sites
I installed the cvv 1.24. Seems to work fine during test order. It asked for CVV and order process finished without errors. The problem is in Admin. When I look up the order in Admin the CVV is blank.

 

Payment Method: Credit Card

 

Credit Card Type: Visa

CVV Number: *delete image here*

Credit Card Owner:

Credit Card Number: 4111111111111111

Credit Card Expires: 0104

 

I'm a bit confuse on the sql part:

 

***If you have not altered your Configuration Table in the database:

 

INSERT INTO configuration VALUES ( 185, 'CVV2 Number', 'CVVNUMBER_MIN_LENGTH', 3, 'Minimum Length of CVV2 Number', 2, 17, '2004-01-08 10:30:00', '2004-01-08 10:30:00', NULL , NULL );

 

***If you have made some alterations to the Configuration Table you will need to change the '185' and '17' to represent the next configuration_id and sort_order(group 2) for your particular database.

 

Now, I don't know anything on SQL and not sure what 185 and 17 represent. Maybe this is where the problem is. Someone please help.

 

Thanks

I am also having the same problem CVV number not showing up in the admin.

Check the tables in phpmyadmin the value are also not in the database itself ...

 

Anyone can help ?

Share this post


Link to post
Share on other sites

I've looked and looked to find this problem, but can't. Help would be very appreciated!

When I go to Admin/Payments Modules, I get this above the regular stuff: (in case it makes a difference, I installed Edit Orders first)

 

 

 

MENT_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 . ' ' .'' . TEXT_CVV_LINK . '', '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'); } } ?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×