Prevent duplicate subscriptions with subscription buckets
Problem Statement
Pelcro currently allows a user to have multiple active subscriptions of the same type or within the same logical grouping, especially when subscriptions are created via the API.
This creates problems for:
In-app purchases (Apple App Store / Google Play), where platforms enforce one active subscription per group
Web subscriptions, where users can accidentally subscribe twice
Client apps, which must implement complex and fragile idempotency logic
Apple and Google solve this with subscription groups that behave like radio buttons: one active subscription per group, while still allowing upgrades and downgrades.
Pelcro lacks a native equivalent.
User Story
As a Pelcro merchant or integrator
I want to define subscription groups that enforce one active subscription per user per group
So that duplicate subscriptions are prevented and upgrades/downgrades are handled cleanly across web, API, and mobile platforms.
Proposed Behavior (High Level)
Plans may optionally belong to a Subscription Group
A user may have only one active subscription per group
Creating a subscription in the same group will:
Trigger an upgrade/downgrade flow or
Be rejected with a clear, deterministic API error (behavior TBD)
Multiple Groups Are Supported
A platform may define multiple independent subscription groups
A user may have one active subscription per group
Example:
Group A: Content Access
Group B: Add-on / Premium Tier
→ One active subscription per group is valid and supported
Definition of Done (DoD)
Subscription Groups can be created and managed
Plans can be assigned to a group
Pelcro enforces one active subscription per user per group
Upgrade/downgrade within a group is supported
Duplicate subscriptions in the same group are prevented at the platform level
API behavior is documented and test-covered
Backward compatible for plans not assigned to a group
Impacted Components
API – enforcement and upgrade/downgrade logic
Admin UI – group and plan management
JS-SDK – subscription creation flows
Integrations – Apple App Store, Google Play Store, Web Checkout
Business Impact
Simplifies in-app purchase integrations
Prevents double billing and duplicate entitlements
Improves upgrade/downgrade UX
Aligns Pelcro with Apple / Google subscription models
Log in to comment and vote
Comments6
An Anonymous User
Jun 24
•Merged request
•11 votes
Prevent Duplicate Subscriptions in Checkout Flow
Problem Statement
Pelcro's checkout flow currently allows logged-in subscribers with an active subscription to initiate the purchase of a new plan without being made aware that they already have an active subscription. This leads to accidental double-billing and subscriber confusion.
User Story
As a subscriber using the checkout flow,
I want to clearly see that I already have an active subscription,
so that I avoid purchasing duplicate or unnecessary plans.
Proposed Behavior
When a logged-in user with at least one active subscription opens the product or plan selection interface (React Elements):
Informational Banner
A visible informational banner appears at the top of the product/plan selection modal containing:
Text: "You are already subscribed to: {Active Plan Name}"
No actions, buttons, or links are included. The subscriber can still proceed if they intentionally want a second subscription.
Logic Rules
Banner displays only for logged-in users with active subscriptions.
If multiple active subscriptions exist, display the most recently created active subscription.
Checkout flow remains unblocked — the warning is informational only.
No backend or API changes required.
Definition of Done (DoD)
UI Implementation (React Elements)
Implement a simple informational banner at the top of the product/plan selection modal.
Banner text: "You are already subscribed to: {Plan Name}"
Styling follows Pelcro's general UI guidelines.
No interactive elements are added.
Functional Behavior
Banner is informational only — does not block checkout.
Edge Conditions
Banner is hidden when the user has no active subscription.
Banner dynamically loads based on the subscription status available in Elements.
Affected Components
UI: Pelcro React Elements (checkout flow)
API: None
SDK: None
Backend: None
Rana Haleem
Sep 10, 2025
Thanks for sharing this! 🙏
To better understand your needs — Would you prefer customers to only receive a warning if they try to subscribe to the same plan they already have, or should the warning also appear if they attempt to subscribe to a different plan while their current subscription is still active?
Chris Gogos
Nov 5, 2025
In my opinion a customer needs to receive a warning if they have any active plan. If the customer choice is an upgrade then they should be shown the ‘enable self-serve plan upgrade’ option (currently ‘in progress’). If it is a downgrade they should receive a similar message to ‘change plan’.
An Anonymous User
Sep 10, 2025
Oh, 100% both scenarios.
Rana Haleem
Dec 2, 2025
This is available now in our latest React Elements version. Please reach out to support@pelcro.com to upgrade to the newest UI.
An Anonymous User
Apr 5
•Merged request
•3 votes
Warn Subscribers Creating a Duplicate Active Subscription
This post has been merged into Prevent Duplicate Subscriptions in Checkout Flow. Please follow that post for updates.