Hi,
One ongoing issue with external payment options is failing callbacks and customers not returning, so the payments are placed, but there never will be any order for it in Zen Cart. Happens also with PayPal and other "official" payment options for Zen Cart.
I have noticed that some other shopping cart systems place the order first, and then redirects to payment. Then if payment is OK the order is marked as paid, and if payment fails the order is marked as cancelled or remains pending (those handlings are options in the payment module).
My preferred handling of orders and external payments would be like this:
- Customer walks through cart and click 'Confirm order' (or better, when it external handling 'Confirm and Pay')
- Order is placed (stored in DB as pending)
- Customer is redirected to payment before checkout confirmation page is displayed
- The customers pay for the order
- The customer is redirected back to checkout confirmation page
- Orderstatus is updated with info about transaction, and if desired - marked as paid.
Optional/Nice to have feature:
Now if a payment fails, the customer should be returned to the placed order, with info about it being cancelled. Or better, it's pending and displays a button for "Pay now" / "Select other payment option" or similar.
In this way store owners would be saved for some grey hair, trying to figure out of a payment without order (if order info isn't stored at payment provider), and/or the hassle to get it recovered in cart for proper accounting.
Is there any way to place the order before redirect to payment today?
If not, could this be moved to feature whislist and considered for later releases, or for extending the possibilities if it's partly possible today?
Bookmarks