v1.66.0 - #810
Merged
Merged
Conversation
Adds a never-renewing, one-time-payment pass granting 30 days of full Pro access, aimed at episodic users who won't subscribe. Priced above monthly ($6) so it can't undercut subscriptions. Backend (no webhooks, no DB — matches the live-Stripe-lookup pattern): - create-checkout-session accepts plan "pass": mode "payment", PaymentIntent metadata ff_pass, invoice_creation on, attaches to the existing Stripe customer by email so a new pass-customer can't shadow subscription history - customer-info also lists PaymentIntents and returns an active pass (latest valid expiry; refunds and disputes invalidate) via _lib/_pass - AI endpoints accept a pass PaymentIntent id as the bearer token; bogus tokens now fall through to the free tier instead of throwing Frontend: - useHasProAccess/useIsProUser honor an active pass; useProAiToken sends the sub id only when active/trialing (a lapsed subscriber with a pass previously would have sent the dead sub id) - Pricing page ticket below the plan comparison, checkout callout below the trust box, FAQ answer, paywall + sandbox-warning secondary links - Pass-specific /success variant + new_pass_holder Loops event - Account shows a pass section; subscription-only sections gated on subscription presence - FAQ strings converted to lazy t`` arrows (locale-timing fix) Tests: api jest suite for the pass predicate; app hook/component tests with new customer fixtures; e2e pass.spec.ts (CI-safe redirect checks + full-purchase block gated on a dedicated TESTING_EMAIL_PASS account). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v1.66.0
New: 30-Day Pro Pass — a $9 one-time purchase granting 30 days of full Pro access, never auto-renews (#809).
new_pass_holderLoops eventpass.spec.tse2e coveragePre-merge checklist (done):
price_1TvqmIK9wlDh9Gkw13amhRm3(productprod_UviCrc5jWnUpt2)STRIPE_PRICE_ID_PASSset in Vercel production (+ preview/development)🤖 Generated with Claude Code