Hello support team,
We are using Community Builder Paid Subscriptions on our Joomla site, utilizing two payment gateways:
Stripe and
offline Bank Transfer.
We have encountered a critical UX roadblock / possible bug when a user transitions from an offline payment method to an automated online gateway during a subscription upgrade.
The Setup & Scenario:
- A customer purchases a 1-year membership plan and checks out using Bank Transfer. Their access is approved and their account is active.
- We have "Prorate remaining value of this plan when upgrading" turned on for all plans, which handles the calculations perfectly.
- After 6 months, the customer decides they want to upgrade to our more expensive plan.
- On the upgrade checkout screen, they decide they want to switch their payment method to Stripe for the remaining prorated balance.
The Issue:
When the customer clicks the Stripe payment button to finalize the upgrade,
the Stripe checkout window/overlay never opens. Instead, the system immediately routes them straight to the
"Thank-you text (payment pending)" message screen. The order is successfully logged in the backend as a basket, but its status is stuck on
"Pending / Waiting for Payment", and the user is left with absolutely no credit card input fields or way to pay.
Our Technical Assumption:
We suspect this happens because the user's initial subscription was processed offline, meaning their Joomla user object completely lacks a Stripe Customer Token or card token on file. When CBSubs attempts to dynamically modify/prorate the subscription via the Stripe API behind the scenes, the API transaction stalls because there is no profile to append the change to.
Questions / Expected Solutions:
We would highly appreciate some guidance on how to resolve this. Ideally, we are looking for advice on either of these two paths:
- The Preferable Fix: Is there a configuration setting we missed that forces Stripe to open a fresh, standalone Checkout session/Payment Intent window during a plan upgrade if it detects the user does not have a valid gateway token on file?
- The Alternative Fix: If changing payment methods mid-upgrade isn't natively supported for offline subscriptions, is there a recommended way (perhaps via Conditionals or a specific configuration layout) to completely hide the Stripe option on the upgrade screen only if their active subscription was paid via Bank Transfer?
Thank you in advance for your assistance!