Vibekit

One-Time Purchases

Sell lifetime access and digital downloads with automated entitlement checks.

One-time variants use interval: "one_time" in the trusted pricing catalog. The template includes a one-time lifetime variant in the trusted pricing catalog. The admin pricing editor can configure other products and amounts.

Purchase lifecycle

  1. A team owner selects an available plan and variant. The server checks the saved catalog and provider price mapping.
  2. With Stripe, checkout uses payment mode. A return redirect alone does not grant access.
  3. A verified, paid checkout.session.completed or checkout.session.async_payment_succeeded event records the purchase and updates the team's Subscription entitlement to ACTIVE, with no next payment date. PaymentRecord tracks provider events and purchase/refund records.

Mock checkout simulates entitlement changes locally without waiting for a real provider webhook. Do not use it as proof of live fulfillment.

Source-release delivery

When the optional source store is enabled, Billing lists releases only for a current team member with an active, unsuspended, unrevoked qualifying license. Stable semantic-version releases appear by default, drafts never appear, and a prerelease appears only through an explicit preview selection. Each listed release has a pinned ZIP and checksum identity; the download and checksum links carry the same selected tag so a newly published release cannot replace the chosen version.

A download event records that an authorized delivery began for that selected release. It does not prove that the client received or opened the complete archive. The server verifies the private release asset before serving a personalized ZIP and returns the matching checksum for those personalized bytes.

Check access on the server

Use the existing team subscription and authorization paths when gating product resources. Verify membership in the requested team before reading its entitlement; an input teamId alone is not authorization. Access rules should match your product's supported statuses and purchase/refund lifecycle.

One-time purchases cannot use recurring subscription pause, resume, cancellation or seat operations. Keep the existing payment-record checks when extending billing.

See Subscriptions.

On this page