Skip to content

Refuse a second Pro checkout while a subscription can still bill - #161

Merged
Programcode merged 1 commit into
mainfrom
cursor/block-second-checkout-f3c6
Oct 22, 2026
Merged

Programcode merged 1 commit into
mainfrom
cursor/block-second-checkout-f3c6

Conversation

@Programcode

Copy link
Copy Markdown
Owner

Someone who already pays for Pro could open Checkout again, from the upgrade button on a limit message, and Stripe would start a second subscription on the same customer.

Checkout now looks up that person's subscriptions first. If one is active, trialing, past due, unpaid, or paused, it refuses and tells them to manage the subscription from Settings. A canceled or unfinished subscription can still start Checkout.

Verified locally with the checkout security tests and eslint. GitHub Actions is not running because of the repo billing limit, so this is a local pass, not a CI pass. This does not deploy the Edge Function.

Open in Web Open in Cursor 

A student who already had Pro could open Checkout again and start a second Stripe subscription on the same customer. Checkout now stops when a subscription is active, trialing, past due, unpaid, or paused, and tells them to manage it from Settings.

Co-authored-by: Gáborjáni-Szabó Ádám <Programcode@users.noreply.github.com>
@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
debate-navigator Ready Ready Preview Oct 22, 2026 10:56am UTC
debatelab-staging Ready Ready Preview Oct 22, 2026 10:56am UTC

@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Next included review available in 52 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
📥 Commits

Reviewing files that changed from the base of the PR and between 4f9e0a0 and 739cbb7.

📒 Files selected for processing: 3
  • src/test/checkout-security.test.ts
  • supabase/functions/create-checkout/checkout-security.ts
  • supabase/functions/create-checkout/index.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Programcode
Programcode merged commit aab301b into main Oct 22, 2026
7 of 17 checks passed

This branch was successfully deployed

2 active deployments
Preview – debate-navigator — 739cbb75 Deployed Oct 22, 2026 by vercel[bot]
Preview – debatelab-staging — 739cbb75 Deployed Oct 22, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants