[PR #3583] [CLOSED] fix(stripe): reuse existing trial subscription on upgrade and prevent duplicate subscriptions #4897

Closed
opened 2026-03-13 12:03:27 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/3583
Author: @tinkerer-shubh
Created: 7/24/2025
Status: Closed

Base: mainHead: issue-3560-upgrade-fix


📝 Commits (7)

  • ee17c8c fix: ensure upgrade reuses existing trial subscription and prevents duplicates
  • c9cc87e fix(stripe): use explicit fields for incomplete subscription update to avoid data inconsistency
  • ff0621d Merge branch 'main' into issue-3560-upgrade-fix
  • e6940eb lint
  • 4363b9a fix(stripe): include seats field in in-memory subscription object to keep it consistent with DB
  • bf1db1c fix(stripe): align seats fallback chain in database update
  • 26b382f fix(stripe): propagate Stripe API errors in subscription lookup to prevent duplicate subscription

📊 Changes

1 file changed (+85 additions, -21 deletions)

View changed files

📝 packages/stripe/src/index.ts (+85 -21)

📄 Description

closes https://github.com/better-auth/better-auth/issues/3560


Summary by cubic

Fixed an issue where upgrading a subscription could create duplicate Stripe subscriptions by reusing any existing active or trial subscription during the upgrade process.

  • Bug Fixes
    • Checks for existing active or trialing subscriptions before creating a new one.
    • Prevents duplicate subscriptions when upgrading.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/3583 **Author:** [@tinkerer-shubh](https://github.com/tinkerer-shubh) **Created:** 7/24/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `issue-3560-upgrade-fix` --- ### 📝 Commits (7) - [`ee17c8c`](https://github.com/better-auth/better-auth/commit/ee17c8c5e357d61342a2075a13a8a17a638c9460) fix: ensure upgrade reuses existing trial subscription and prevents duplicates - [`c9cc87e`](https://github.com/better-auth/better-auth/commit/c9cc87e35cfeae2684c18a49690b3b12bf9ca0ac) fix(stripe): use explicit fields for incomplete subscription update to avoid data inconsistency - [`ff0621d`](https://github.com/better-auth/better-auth/commit/ff0621de93edf8051d4357292f14add62225ecfc) Merge branch 'main' into issue-3560-upgrade-fix - [`e6940eb`](https://github.com/better-auth/better-auth/commit/e6940ebfa66a90c13b3fb9ebc696514281ae3220) lint - [`4363b9a`](https://github.com/better-auth/better-auth/commit/4363b9a91cb4159aa7682bcbeff53d6beeafebe9) fix(stripe): include seats field in in-memory subscription object to keep it consistent with DB - [`bf1db1c`](https://github.com/better-auth/better-auth/commit/bf1db1ce1a19a8f52801794ae5bac157981b9b0a) fix(stripe): align seats fallback chain in database update - [`26b382f`](https://github.com/better-auth/better-auth/commit/26b382f434b9e970a8d829cebc301453b38dfc64) fix(stripe): propagate Stripe API errors in subscription lookup to prevent duplicate subscription ### 📊 Changes **1 file changed** (+85 additions, -21 deletions) <details> <summary>View changed files</summary> 📝 `packages/stripe/src/index.ts` (+85 -21) </details> ### 📄 Description closes https://github.com/better-auth/better-auth/issues/3560 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixed an issue where upgrading a subscription could create duplicate Stripe subscriptions by reusing any existing active or trial subscription during the upgrade process. - **Bug Fixes** - Checks for existing active or trialing subscriptions before creating a new one. - Prevents duplicate subscriptions when upgrading. <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 12:03:27 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#4897