We recently setup a (Elavon) Virtual Merchant account and installed the VM Module. We're using Zen Cart 1.3.8a with some modules like Ty Package Tracker, Zipcode Zones, and Products with Attributes Stock.
After installing and configuring the settings, we ran into a problem during testing with pre-processing errors (invalid card number, expired expiration date, etc) generating a blank page in Firefox and a HTTP 406 error displayed in IE. After much trial and error it was discovered that the culprit was in /includes/modules/payment/virtualmerchant.php:
// Set error if Pre-Confirmation checks have issues
if ( ($result == false) || ($result < 1) ) {
$payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) .
Had to be changed to:
if ( ($result == false) || ($result < 1) ) {
$payment_error_return = 'payment_error=' . $this->code . '&errormessage=' . urlencode($error) .
Making this change allowed the page to return properly with the error message displayed.
Also, someone had asked about editing the green approval bar that appears on the success page. We were concerned that a customer might read the approval number and think it was their order number so we changed the line (in the // *APPROVED* case section) from:
$messageStack->add_session('header',$response_sslresmsg." :: ".$response_sslappcode,'success');
to:
$messageStack->add_session('header',"Transaction Submitted Successfully",'success');
Hope this helps.



