Worked release workflow
Host the preview.
Deliver the paid kit separately.
This walkthrough uses synthetic page content. It does not create a merchant account or certify a checkout.
1. Start with a prepared release
Download and extract the free sample. Inspect its generated catalogue, product detail and quick-start pages. The CSV is two synthetic rows; the example utility is illustrative. The checkout button is disabled.
2. Describe the actual product
Edit config.json. Give each product a unique simple slug, buyer, exact included-file list, requirements, limitations and quick-start workflow. Replace the example price and set your actual HTTPS site URL ending in a slash. Keep releaseStatus as prepared.
3. Generate a new public folder
With Node.js 22+ available, run node generator.mjs config.json my-public from the extracted kit. An existing output folder is rejected. Copy the approved CSV into my-public/samples/. Host only my-public, never the full source or paid delivery folder.
4. Inspect the local release report
The full paid experiment adds node checker.mjs my-public policy.json. Its filled two-product example has eleven files and six HTML pages, with zero errors and warnings. Missing samples, broken local links, duplicate IDs, private paths and prohibited full ZIPs fail. The free sample has four HTML pages and does not include the checker.
The checker does not fetch remote links, parse arbitrary HTML/JavaScript/CSS fully, inspect archive contents, scan all credentials or provide access control. Review every public file, all warnings, mobile layout and every external link manually.
5. Verify delivery before opening sales
Save the full package in your delivery platform, outside your website. Confirm the saved attachment and compare the actual downloaded hash with your local package. Owner completes verification, gateway connection and required agreements, then follows the platform's permitted customer checkout/receipt/download test. Record the evidence in RELEASE-REGISTER.md.
6. Enable only a real checkout
Only after those checks pass, set a real public HTTPS checkoutUrl and the three owner verification assertions, then switch releaseStatus to live and regenerate. Those assertions record your decision; the generator cannot prove that payment or delivery works. No live checkout is enabled in this demo.
Platform references to recheck
Netlify current pricing · Payhip current pricing · Payhip content-editor delivery distinction · Payhip file replacement.
What this does for discovery
A useful public sample, descriptive pages and sitemap give people content to inspect. Search indexing, rank, traffic, willingness to pay and revenue remain unverified. Social posting is paused.