I know this post is a little old, but I find the "helpful" posts to be very unhelpful. So here is how to make CVV a required field:
In your payment module in includes/modues/payment/ add these pieces of code where appropriate:
In the javascript validation section:
CODE
' if (cc_checkcode == "" || cc_checkcode.length < "3" || cc_checkcode.length > "4") {' . "\n".
' error_message = error_message + "' . MODULE_PAYMENT_YOUR_PAYMENT_MODULE_TEXT_CVV_ERROR_CODE . '";' . "\n" .
' error = 1;' . "\n" .
' }' . "\n" .
Where you see $selection = array add this:
CODE
array('title' => MODULE_PAYMENT_YOUR_PAYMENT_MODULE_TEXT_CREDIT_CARD_CHECKNUMBER,
'field' => tep_draw_input_field('your_payment_module_cc_checkcode', '', 'size="4" maxlength="4"') . ' <small>' . MODULE_PAYMENT_YOUR_PAYMENT_MODULE_TEXT_CREDIT_CARD_CHECKNUMBER_LOCATION . '</small>')),
Below this:
$this->cc_expiry_year = $cc_validation->cc_expiry_year;
add this:
CODE
$this->cc_checkcode = $cc_validation->cc_checkcode;
where you see this: $confirmation = array
insert this:
CODE
array('title' => MODULE_PAYMENT_YOUR_PAYMENT_MODULE_TEXT_CREDIT_CARD_CHECKNUMBER,
'field' => $HTTP_POST_VARS['your_module_cc_checkcode']),
where you see this:
$process_button_string
insert this:
CODE
tep_draw_hidden_field('cc_checkcode', $HTTP_POST_VARS['your_module_cc_checkcode']) .
to pass the cvv code to the card processing company use something like this in amongst all the other informaton to be passed:
CODE
$cc_checkcode = iconv(CHARSET, 'UTF-8', $HTTP_POST_VARS['cc_checkcode']);
Then make sure that you have the TEXT defines from above in includes/languages/english/modules/payment/your_module.php
I won't be monitoring this thread, and won't be replying to posts on it - but this should help you out.
Vger