If those strings are appearring then the following defines are missing from your includes/languages/english.php file - they are standard osC defies and not part fo the module - they must have been deleted at some pint
CODE
define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid.<br>Please check the date and try again.');
define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid.<br>Please check the number and try again.');
define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s<br>If that number is correct, we do not accept that type of credit card.<br>If it is wrong, please try again.');
The page layout can be modifyied by changing the code in protx_process.php file. It designed to only show the header so that the customer knows they are still on your site but prevent them from clicking away from the 3D-Secure box (thus reducing cart abandonment) - this is n the verified by visa implementation guidelines
To add a "please select" (planned for next release) edit includes/modules/payment/protx_direct.php. Find the section with:
CODE
if (MODULE_PAYMENT_PROTX_DIRECT_USE_AMEX != 'False') { $cc_type[] = array('id' => 'AMEX', 'text' => 'American Express'); }
Add the following line BEFORE THE OTHER LINES:
CODE
$cc_type[0] = array('id' =>'NOTSELECTED', 'text' => 'Please select ...');
I would also suggest in the same file finding
CODE
if (($result == false) || ($result < 1)) {
$payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&protx_direct_cc_owner=' . urlencode($HTTP_POST_VARS['protx_direct_cc_owner']) . '&protx_direct_cc_expires_month=' . $HTTP_POST_VARS['protx_direct_cc_expires_month'] . '&protx_direct_cc_expires_year=' . $HTTP_POST_VARS['protx_direct_cc_expires_year'];
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
}
and inserting immediately before
CODE
if ($HTTP_POST_VARS['protx_direct_cc_type'] == 'NOTSELECTED') {
$error = TEXT_CCVAL_ERROR_SELECT_CARD_TYPE;
$result = false;
}
You will then need to add the following line to includes/languages/english.php
CODE
define('TEXT_CCVAL_ERROR_SELECT_CARD_TYPE', 'Please select your card type and try again');
Tom