A beautiful site can still be a bad site. The polish usually covers the states the designer controls, and the money sits in the states the network controls.
The mechanic that catches people is simple. A submit button that animates the instant you click it feels fast, but that animation is reacting to your click, not to the server's answer. On a weak connection you get a spinner, then nothing, so you tap again, and one patient customer turns into two orders, or two charges.
The fix is not visual. The form has to carry a stable identifier for that single attempt, so a repeated request lands on the same record instead of creating a new one. Your layout can stay exactly as it is. It is the submit that has to be safe to repeat.
If someone double-tapped the pay button on your site today, you would end up with either one order or two, and we think knowing which one is worth more than the polish.