Hello. I'm running a clean install of OSC 2.3.1. Installed the Cybersource SOP payment module. I would like to require customers to enter their cvv when paying.
My problem is on checkout_payment.php. If the cvv code is missing, or less than 3 characters or more than 4, or if the expiration date is not set to anytime to the future of the transaction, osC goes back to the login page. In the URL it shows a different osCsid than the previous page.
I did a var_dump of the variable $navigation:
// if the customer is not logged on, redirect them to the login page
if (!tep_session_is_registered('customer_id')) {
var_dump($navigation); die();
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
Here's what I got:
object(navigationhistory)(2) { ["path"]=> array(1) { [0]=> array(4) { ["page"]=> string(20) "checkout_payment.php" ["mode"]=> string(3) "SSL" ["get"]=> array(7) { ["payment_error"]=> string(11) "cybersource" ["amp;error"]=> string(100) "The CVV code supplied is invalid. Please be sure to check it for length and accuracy and try again." ["amp;billTo_firstName"]=> string(5) "Nitai" ["amp;billTo_lastName"]=> string(9) "Terhanian" ["amp;card_expirationMonth"]=> string(2) "01" ["amp;card_expirationYear"]=> string(4) "2012" ["amp;osCsid"]=> string(32) "8cc4280ced3c1557a2d2ae36ef6bd5e4" } ["post"]=> array(0) { } } } ["snapshot"]=> array(0) { } }
The osCsid above is the same as the one osC gave me on the page checkout_shipping.php during this test. However, again, in the URL, once at the login page, it's different. It seems to me, when osC runs checout_payment.php again (after encountering an error), it somehow loses the session?
Not sure where to go from here.
Any suggestions or requests for more information/clarification of my problem will be greatly appreciated! - N