News:

Looking for documentation? Take a look on our wiki

Main Menu

Failure of CC transaction loads incorrect checkout page

Started by Dave Withnall, October 15, 2009, 18:17:23 PM

Previous topic - Next topic

Dave Withnall

Description:
Failure of CC transaction reloads the order confirmation page (4/4) not the payment options page (3/4). This means that the end user cannot try a different payment method.

VirtueMart Version:
1.1.3 & 1.1.4 Manual installation 371

Joomla/Mambo Version:
1.5.14

Steps to replicate:
Use a fresh nightly build.
Set up a payment method using ps_authorize with invalid login information.
Purchase a product using a test visa credit card number.
Site will redirect to the order confirmation page.

Proposed fix(es):
ps_checkout.php is using a system I wasn't able to figure out a way around.
ps_checkout::add() sets $_REQUEST["checkout_stage"] = CHECK_OUT_GET_PAYMENT_METHOD.

When this is passed through to ps_checkout::get_current_stage() it evaluates to the 4th entry in $steps (an array with keys set to the sort order of the stages)

The problem being that CHECK_OUT_GET_PAYMENT_METHOD = 4 and the 4th value in the $steps array is CHECK_OUT_GET_FINAL_CONFIRMATION.

The only way I can think of to get through this is to add another $_REQUEST variable for "checkout_error" and checking that in get_current_stage().

Bugtracker task #:
Can't log in to post one

System info:
Debian Lenny, Apache 2.2.9, PHP 5.2.6-1+lenny3, mysql  Ver 14.12 Distrib 5.0.51a

aravot

I wouldn't consider this a bug, because it is up to store owner to insert correct information, I am sure ever store owner/administrator will check the settings before going live, if not than that is bad practice.

Even this situation occurs, customer has the option to click on 'Payment Method' step to go back and try another payment method.

Dave Withnall

This is a bug. The invalid account details is just the simplest way to trigger it.

If you have correct details in the backend and the end users CC is declined by the bank then virtuemart will still take the user back to the confirmation page.

It is also a change in behaviour since the 1.0.x which does take you back to the payment method page.

Having "click on payment method" as an option for the end user will result in lost sales. Your average user is going to see they've got an error message and a button which says continue. They will click continue and end up back at the confirmation page. At which point they've gotten an error message twice and no obvious way to fix it, so they'll give up and go elsewhere.

Bad user interaction leads to bad sales results both on the web and in a physical store.

Even if you do think it is good behaviour is there a way for me to get the site to redirect to the payment options page?

Regards,

Dave.


sawalsh07

#3
Did you find a solution?  I have the same problem.  I get no displayed error if I enter invalid CC number, returns me to step 3 page.  I get no displayed error response codes from authorize.net if there is an address mismatch, etc.  Just refreshes step 4.  I think we have the same problem.  I'm not getting on screen errors.  They show up in my log file.

Joomla 1.5.14
VM 1.1.3

Transactions go through fine with correct CC/address info.  Very frustrating for customers when transaction doesn't go through and confirmation page (step 4) keeps refreshing.

This is a bug!
Absorbents, Spill Kits, and products for Spill Containment, Erosion Control, and Facility Protection.

Dave Withnall

I put in an extra session variable on detection of the failure and then check for it where the decision on which page to load is made.

It is a hacky work around. But no more hacky than the way the pages are loaded at currently.