XF 2.1 When cancelling a recurring subscription, the cancel button is still there after cancelling.

RobinHood

Well-known member
I've just setup user upgrades on a site and when testing a recurring subscription, after cancelling the subscription (which is still due to be active for a period of time after the cancellation) the cancel button is still visible. This is confusing as then proceeding to try and cancel it again you get the message that it's already been cancelled.

This seems like a bug?

This membership has already been cancelled by clicking the cancel button:

1578651584186.png



Continuing to try and cancel it gives an error:

1578651542828.png


Should the cancel button not disappear after the user has requested to cancel the subscription to prevent the user seeing this error and thinking it may still be active and due to renew?

Perhaps it should have a cancelled status with a note that it will not renew after the current expiry date to make it more clear to the user what the state of their account upgrade is?

This is using Stripe only.

Thanks
 
Last edited:
Points noted, but this is working as expected.

XF only maintains the state of the actual user upgrade and the user upgrade will stay active until the expiration date. We don't store anything locally that would tell us about the status of the subscription/payment with the provider.

We could perform additional API requests to Stripe to check whether the subscription is active on their end or not and hide the button accordingly, though we just decided not to as we don't necessarily want to perform those requests on page load continuously.
 
Ahh okay.

I'm setting up a membership only site for someone, so all members will need a paid account upgrade in order to be able to access it. It's likely they will all be recurring 6 or 12 month subscriptions, that will continue until the user cancels them.

We foresee some people will purchase an initial subscription to join, but if they then want to cancel the automatic renewal, they'll then cancel their subscription and let the rest of the time on their account upgrade run out preventing automatic renewal.

Part of the reason is to have a system to help automate and manage memberships to a community that meets both on and offline where payments are currently all managed manually offline.

The owner is very impressed with the upgrade system as a whole, but we both agree that this ambiguity of whether their subscription is truly cancelled or not will be confusing to members, many of whom are not that tech savvy.

We feel the fact that the error is also ambiguous as to whether the subscription is truly cancelled or not will likely result in people generating tickets with the admin to clarify this, resulting in more work and administration for them, which we're trying to prevent.

Should I make a separate suggestion regarding improving this? Or could this thread be moved to suggestions?
 
A specific suggestion thread would be better suited.

To be honest, while the error is ambiguous and there could be other issues, I'd go as far as to say the most likely reason that error shows is because the subscription is already cancelled.

With that in mind, you might in the interim at least want to change that phrase to be less ambiguous and provide additional explanation if needed.

The template which renders the cancel button is payment_cancel_recurring so you could also add additional text there.
 
I think this should be considered a bug , Xenforo shouldn't show option to cancel subscription when it is already canceled . also it shouldn't say expires while subscription is still valid ... it should say "renews" or "next payment date"
you receive webhooks notifications or IPN notifications when subscriptions are cancelled so I see no big deal on implementing this .
 
Points noted, but this is working as expected.

XF only maintains the state of the actual user upgrade and the user upgrade will stay active until the expiration date. We don't store anything locally that would tell us about the status of the subscription/payment with the provider.

We could perform additional API requests to Stripe to check whether the subscription is active on their end or not and hide the button accordingly, though we just decided not to as we don't necessarily want to perform those requests on page load continuously.
You wouldn't need to do it continuously. Just when the cancel button is clicked and then show it as cancelled on the XF side.
 
Is this by any chance being fixed for 2.3? It's very annoying to the end users as I get emails saying they're getting errors and it's not canceling but it is and there's no notification to the user that it has in fact been canceled.
 
Seconded...

I have just switched on recurring subscriptions. A cancelled subscription still shows a cancel button. Highly undesirable from a UX perspective.

Subscriptions are the lifeblood of income for many forums including my own, and the addition of recurring subscriptions is very well received. Money related functions must work smoothly and communicate status well to preserve reputation. Can I suggest that getting the communication on this right should be high on the priority list.

For Stripe, as I understand it, you have no way to see the cancellation has gone through other than trying a second time which says "This subscription cannot be cancelled. It may already be cancelled.". If XF can tell it has been cancelled, it has access to the data it needs to update a database flag to change the "Cancel" button to "Renew".
 
Last edited:
For Stripe, as I understand it, you have no way to see the cancellation has gone through other than trying a second time which says "This subscription cannot be cancelled. It may already be cancelled.". If XF can tell it has been cancelled, it has access to the data it needs to update a database flag to change the "Cancel" button to "Renew"
There's definitely a way for XF to know it's been canceled and it's status. Totally part of the stripe API from what I understand.
 
Top Bottom