Situation
A payment on the bank statement, and no order in the admin
A customer’s bank showed a payment. The store had no order for it, and nothing in the admin to say it had been attempted. It is the worst kind of checkout fault: the customer is out of pocket, the store looks dishonest, and nobody can see it happening.
What we found
The card step did not wait for the form
The card payment step and the rest of the checkout’s checks ran at the same moment. A customer who had missed the terms tick box, or left the phone number blank, still got the bank’s 3-D Secure prompt. They approved it, the card was authorised, and then the order failed on the box they had missed. Money taken, no order.
What we did
Validate everything first, then ask the bank
- Order of operations The card step now waits until everything else on the page is valid. Only then does the bank prompt appear.
- After 3-D Secure A “payment method not ready” error that could appear after the bank step was fixed, as was a shipping step that could get stuck on “saving shipping method”.
- Plainer messages A “processing your order” message while the order is placed, and a “no shipping methods” message reworded to ask for the address it needs.
Each fix was tested on our own copy of the store with the payment sandbox, including the unticked-terms case, before it went live.
Result
A checkout that cannot charge a card for an order it will not create
0payments taken before the form is valid
3releases to settle the whole card flow
Worth checking on your store
Two minutes with a real card
- If your checkout was rebuilt recently, place a test order with the terms box unticked and a real card.
- Watch whether the bank prompt appears before the checkout complains about the box.
- If it does, your customers have already found this.