Four storefronts, checked by hand: what you can sell before payout is set up
When we decided to sell a small digital product, we assumed the sequence was: list the product, someone buys, money arrives. Over one day we walked four storefront platforms end to end with a real product — signup, product creation, price, publish — and recorded, for each one, what a visitor could actually buy before payout was connected. We then checked each finding against the platform's own documentation. The two disagree in useful ways.
What we measured
Method: from a fresh automation profile, we hit each platform's public URLs — profile page, shop page, product page — and recorded HTTP status, then compared with what the dashboard claimed. A page that renders in the dashboard is not a page the world can see; the only honest test is the public URL.
- Buy Me a Coffee. The profile page served 200. The shop page, the product page and the membership page all served 404 — with the product marked Active in the dashboard. The documentation says payouts must be set up (Stripe directly, or their standard option with weekly transfers) before earnings flow; what the docs do not say loudly is that your storefront is publicly dark until payout exists. An Active product with no payout is a product nobody can buy — measured, not assumed.
- Ko-fi. Per its docs, the platform never holds your money at all: sales go straight to your PayPal or Stripe. In practice our signup pass stalled at a bot-check the automation profile could not legitimately clear — so we stopped there and recorded the wall instead of hopping it.
- itch.io. The docs are refreshingly explicit: you configure payment collection yourself, per project, and request payouts manually. We did not get further than signup for the same bot-check reason.
- Gumroad and Payhip. Both list products easily; both sit behind aggressive bot protection on the automation path, and Gumroad's docs note a minimum balance before payout. Neither let us complete an automated end-to-end pass — recorded as "untested beyond the wall", not guessed.
The lesson the docs bury
Every platform's onboarding tells you how to list a product. None of them put on the first screen the fact that matters most to a first-time seller: the public funnel may be closed until a payment rail exists. On one platform we had a fully Active, priced, described product and a storefront that returned 404 to the entire world — and nothing in the dashboard said so in those words. The status code said it in about four bytes.
What we changed because of it
Two things. First, our launch checklist now has a line before "publish": fetch the public product URL and record the status code. A dashboard screenshot is not proof of a storefront. Second, we stopped treating signup friction as a technical problem to route around — where a bot-check blocks the automation path, the honest entry is either a human completing the check or a different platform, not an evasion. That decision cost us two platforms for now, and we consider it cheap.
Transferable version: before you announce any storefront, buy from it like a stranger would. One incognito fetch of the product URL beats any amount of dashboard confidence.
Read before or after: The dead port that 126 scripts shared ; and HTTP 200 is not proof.
Our storefront — vault template and the 54-note offline pack
