Payment and delivery readiness
Ready for Stripe and PayPal tie-in.
The platform has the routes, product data, delivery model, and provider boundaries. The next phase is connecting real Stripe first, then PayPal after the Stripe path is stable.
ready for keysStripe Checkout
Hosted Stripe Checkout Session creation and verified webhook processing are implemented. Production still needs test/live Stripe keys, price ID, and webhook secret in the deployment environment.
Required envSTRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_CONFIDENT_PROMPT_VAULT_PRICE_ID
Run Stripe test-mode checkout and webhook QA before accepting live payments.
ready for keysPayPal Checkout
PayPal is intentionally second. The app has a provider slot and env placeholders, but Stripe should be stabilized first.
Required envPAYPAL_CLIENT_IDPAYPAL_CLIENT_SECRETPAYPAL_WEBHOOK_ID
Add PayPal provider after Stripe purchase and delivery flow is stable.
ready for keysDatabase / CRM
Prisma models exist for products, funnels, customers, purchases, entitlements, payment events, and delivery events. Runtime needs DATABASE_URL in each environment.
Confirm Supabase pooled runtime URL in Vercel before preview/live deployment.
ready for keysTransactional Email
Resend delivery email payloads, access-link generation, webhook-triggered delivery attempts, and manual library access requests are implemented.
Required envRESEND_API_KEYDELIVERY_FROM_EMAILACCESS_TOKEN_SECRET
Add a verified sender/domain in Resend, then run a test-mode purchase email delivery QA pass.
ready for keysPrivate Downloads
The library, thank-you page, and download route require verified webhook entitlements before exposing short-lived Supabase private storage signed URLs.
Required envACCESS_TOKEN_SECRETSUPABASE_URLSUPABASE_SERVICE_ROLE_KEYSUPABASE_STORAGE_BUCKET
Create a private Supabase Storage bucket, upload paid PDFs under product slug folders, then run entitlement-gated download QA.