Jump to content

Checkout Bug Observed


kab

Recommended Posts

Is this a bug? Steps to reproduce:

Skin: Kurouto

1. Do some shopping

2. View Basket (from basket summary)

3. Checkout and Make dummy payment (I used Paypal credit card mode with dummy numbers and it returned as transaction failed)

4. Select home page or check basket

5. The basket is not emptied after the transaction (rightly so because the payment has not gone thru and has returned an error)

6. Check Admin console 'Orders' section - the order gets registered as "pending" (order is being recorded in the database, which I think is wrong)

 

What should ideally happen:

a. The order should not get updated in the database (as the payment has returned an error) OR

b. The basket should now be shown as EMPTY and retain the earlier order details.

 

Link to comment
Share on other sites

5. The basket is not emptied. Rightly so, as this gives the customer an immediate opportunity to try another payment instrument (different card) or, if you have enabled more than one gateway in your store, to try another payment method. And if not immediate, then certainly the ability fix the billing address (AVS checks), card number, call the bank to complain, etc, without having to do the shopping all over again.

But this bring sup a point about the sequence of shopping vs checking out. I compare the CubeCart experience with buying my weekly groceries. (Nor have I compared CubeCart's sequence to any other shopping cart software.) I load my shopping basket. I get in the queue to checkout. As the basket is unloaded, various computations are made: what gets taxed and what does not, multiple product discounts, what's on sale today but not tomorrow, coupons and loyalty card discounts, delivery charges, etc.

I now have a "Cart" of items (as opposed to the shopping basket) ready to depart the store. All I need to do is to make payment.

As far as the store's computers are concerned, the inventory is no longer on the shelves ('reduce inventory on pending') and the Cart is Pending. The store also has certain meta-data: the time of day the the shopping basket was converted to a cart, how long the cashier took to scan the items in my cart, the cashier's name (or queue number), the name of the bloke who sacked my cart, how many fuel points has been added to my loyalty card, etc.

As far as I am concerned, I do not want to trundle up and down the shelves reloading my basket because I mistyped my PIN number of the debit card.

I would like to understand your thoughts as to your ideal sequence of actions.

Link to comment
Share on other sites

What you say makes sense from a "real-life" scenario. Agree on all the points here. Yet, there's a bit of worry about the entry in the database. I haven't yet checked on what happens when one does multiple retries - does it add fresh entries with "pending" status? I'll try that later today (4am at my place and need to cctch up on my sleep).

I'd rather have an additional status other than pending to tell me that the payment was successful. I couldn't try that since I am still on a sandbox gateway (avoiding incurring unwanted processing fee just for implementation). I have a hunch that the status would turn to "processing" after a successful transaction. Can you confirm? If that is the case then I guess the problem is handled (except for the multiple inserts on multiple retries).

Link to comment
Share on other sites

It is true that CubeCart will log an entry in the CubeCart_order_history database table every time CubeCart runs the order through the Order class's "Order Status" function. Thus, you may find two Pendings, a Processing, and a Completed for each good order. "Failed to transact" orders will have more Pendings, one for each trip to the payment page. If you realize what it is you are seeing, multiple Pendings should not be of a concern. Unless... if you see dozens of Pendings, then you should give thought to someone(s) using your store to be trying stolen credit card numbers.

A successful transaction will (should) move the order to Processing - if the payment processor sends back the correct data.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...