💳 Payments are one of the easiest places to create a bad mobile experience. The payment itself m...💳 Payments are one of the easiest places to create a bad mobile experience. The payment itself m...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
💳 Payments are one of the easiest places to create a bad mobile experience.
The payment itself may take a few seconds.
Everything around it is what matters: • loading state • duplicate taps • failed payments • retries • 3DS confirmation • subscription status • receipt validation • restoring purchases • network interruptions • clear success / failure screens
For mobile products, I try to make every payment action idempotent and every failure recoverable.
If the user loses connection after tapping “Pay,” the app should know whether the transaction succeeded — not make them guess.
The same applies to subscriptions: the UI should reflect the real backend or store status, not just the last button the user pressed.
A good payment flow builds trust before, during, and after the transaction. 💸
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started