Checkout only works on your live app link
The preview window inside the editor can't run a real checkout. Test on your live app address instead — and here's how to tell which one you're looking at.
You turned on payments, set your price, clicked your own Buy button to make sure it works — and it failed. Nothing loaded, or you got a message saying checkout wasn't available.
If you clicked that button inside the preview window in the editor, your app is almost certainly fine. Checkout doesn't run in the preview window. It only runs on your app's real, live address.
Why the preview window can't do it
The preview is a live workbench, not your finished app. It exists so you can see your changes the second you make them, before anyone else does.
Real payments are different. When money is involved, the payment step has to know it's talking to your actual published app at its actual address — that's part of what keeps your buyers' payments safe and keeps someone else from running checkouts in your name. The preview window sits at a temporary working address that changes every time you come back to it, so it can never be that.
So the preview shows you the button. It just can't complete a real purchase through it.
How to test your checkout properly
- Publish your app, if you haven't already.
- Open your live link. It looks like
yourapp.overskill.app, or your own domain if you've connected one. You'll find it in your app's dashboard. - Click your Buy button there.
- Want to go all the way through without paying? Use a 100% off test code so the total is $0. See Test your checkout without paying.
That's the whole fix. You don't need to rebuild, re-publish, or change any settings.
How to tell which window you're in
Look at the web address at the top of the browser.
- Live app —
yourapp.overskill.app, or your own domain. Checkout works here. - Preview — a long temporary address you never chose, usually opened from inside the editor. Checkout doesn't work here.
The quickest way to be sure: open your live link in a brand-new browser tab, away from the editor. That's exactly what your customers see.
What if it still fails on your live link?
Then it's worth a real look. Checkout can also fail on your live app when:
- Your payment setup isn't finished. Being verified for payouts and being approved to accept payments are two different steps — see Why your app cannot take payments even though you are verified.
- The price you're pointing at no longer exists. If you deleted or replaced a plan, the button may still be pointing at the old one. Re-check the price in Monetize.
- Your app isn't currently live. A paused or archived app can't sell.
If none of those fit, contact support with your live app link. We can see exactly which of these it was, so you won't have to guess.
What to read next
- Test your checkout without paying — run a full $0 purchase through your own live checkout
- Why your app cannot take payments even though you are verified — the payment-approval step people miss
- Selling your app — the whole picture of charging for access