Desktop apps are distributed outside any app store, there's no Windows Store or Mac App Store in-app purchase API a compiled app can reach. The License Key block sells a one-time unlock directly through your own connected Stripe account instead, no store, no store cut.
Connecting your Stripe account
Open your project's new Payments tab and paste in your own Stripe secret key and webhook secret, the same connection a Web Application or Website project's own Stripe Checkout already uses, payments go straight to your own Stripe account, never through CodeBlock Studio. This requires a Plus or Creator plan, see "Free, Plus, and Creator plans compared."
Setting the price
Create a one-time price for whatever you're selling in your own Stripe Dashboard, then paste its Price ID (starts with price_) into the block's own setting in the inspector.
What a buyer actually experiences
Clicking the block's Buy button opens Stripe Checkout in the system's default browser, since a Desktop app has no browser view of its own built in. Once payment succeeds, a short code is emailed to the buyer. They come back to the same block, type the code into its own input, and click the unlock button, that code is checked against your own server, and once it matches, the block remembers the unlock on that one installed copy, no need to enter the code again after restarting the app.
What this deliberately doesn't do
- It only unlocks itself: the block shows a purchase screen or an unlocked message, it doesn't automatically hide or reveal any other block on its own. Building that behavior yourself (for example with Condition and a Variable) is possible, but isn't built in yet.
- No refund or revoke flow from inside the app: cancelling a payment in Stripe doesn't reach back into an installed copy that already saved the unlock.
- Reinstalling the app or clearing its local data clears the saved unlock, same as any other local-data block, the buyer can always get back in by entering their original code again, it's still valid on your server.
Tip: Give the block its own Storage Key, different from any Login/Signup Form's, unless you specifically want the unlock tied to the same local account store, most apps keep these separate.