Guide
From Checkout to Product Access
End-to-end checkout workflow from product/cart selection to Stripe Checkout, webhook completion, order, ledger, entitlement, customer library, download, and plugin activation.
SoundSync
Minimum Paid Product Price
Products sold through SoundSync checkout must be priced at $9.99 or higher.
Paid checkout rule
Minimum product price: $9.99 for paid products.
Free products
Products can still use supported free, promo, manual grant, reseller, migration, serial-generator, or external-redemption flows where configured. The $9.99 minimum applies to paid products sold through SoundSync checkout.
Checkout validation
Checkout pricing is validated server-side, so product price, sale price, promo codes, subscriptions, and checkout totals should be configured with the paid-product minimum in mind.
SoundSync
Canonical workflow
This is the public implementation sequence.
-
Cart creation
Storefront/embed runtime keeps client cart state, but checkout normalizes productId/items/cartItems/lineItems server-side.
-
Pricing and currency
Server-authoritative product pricing resolves checkoutPriceCents and defaults currency to usd. Clients must not send authoritative prices.
-
Discounts
promoCode, promo_code, or coupon can be validated against server promo rules; automatic checkout offers may apply server-side.
-
Tax quote
When internal tax checkout is active, checkout requires a valid server quote and rejects mismatched Stripe totals.
-
Checkout session
Stripe session is created with safe success/cancel URLs and stored checkout_sessions metadata.
-
Completion
Stripe webhook verifies signature/environment, locks by checkout session, checks total, and creates/reuses order idempotently.
-
Fulfillment
Order service writes ledger, serials where supported, entitlements, marketing audience capture, revenue shares, journal/settlement preview, and purchase email if configured.
-
Customer access
Library and delivery endpoints expose active entitlement access; plugin activation eligibility follows licensing validation.
SoundSync
Failure behavior
These are the documented customer/developer outcomes.
| Case | Current behavior | Recovery |
|---|---|---|
| Product missing | PRODUCT_NOT_FOUND from checkout route. | Refresh product/storefront state. |
| Subscription mixed cart | SUBSCRIPTION_CART_UNSUPPORTED for multi-item or quantity subscription carts. | Checkout one subscription product at a time. |
| Legacy reseller checkout context | LEGACY_RESELLER_CHECKOUT_RETIRED. | Use Partner Hub/external order reporting. |
| Tax quote required/mismatch | TAX_QUOTE_REQUIRED or STRIPE_TOTAL_MISMATCH. | Regenerate quote and do not trust browser totals. |
| Stripe config not ready | Safe config errors include stripeMode only for recognized configuration failures. | Use test mode until live checkout is enabled/configured. |
