Skip to content

One-time Paid Reports#53

Merged
vishakh merged 6 commits into
mainfrom
feature/pain_onetime_reports
Jul 10, 2026
Merged

One-time Paid Reports#53
vishakh merged 6 commits into
mainfrom
feature/pain_onetime_reports

Conversation

@vishakh

@vishakh vishakh commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This PR adds one-time paid report runs, removes the 7-day subscription trial, and updates the app to run on the default Next 16/Turbopack path.

Changes

  • Added one-time Stripe Checkout purchases for premium reports at $4.99 per run.
  • Added report pass tracking via Stripe PaymentIntent metadata.
  • Added /api/report-access to check and consume unused report passes.
  • Added Dynamic JWT verification so consuming a paid report pass requires wallet ownership.
  • Updated Analyze report cards to support either:
    • active subscription access,
    • promo access,
    • or a one-time paid report pass.
  • Removed the 7-day Stripe subscription trial.
  • Updated subscription and paywall copy to describe immediate $4.99/month billing.
  • Added close confirmation for generated in-memory reports so users do not accidentally discard output.
  • Migrated ESLint to flat config for ESLint 9.
  • Updated Next to 16.2.10 and switched scripts from --webpack to default Turbopack.
  • Added Turbopack aliases/shims for browser-incompatible dependencies.

Notes

  • Existing Stripe trialing subscription handling remains in place so legacy trial subscriptions can still be checked or cancelled correctly.
  • nilDB storage remains disabled during package migration.

@vishakh vishakh self-assigned this Jul 10, 2026
@vishakh vishakh added the enhancement New feature or request label Jul 10, 2026
@vishakh
vishakh merged commit 9169564 into main Jul 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant