Skip to Content Skip to Menu

🌟 CB Editor Assistant 1.0.0 is here! Discover our new AI Joomla Plugin that wrote its story! (and this banner!)
Start at just $12.50/month* or 💸 save 30% with our 🛍️ Black Friday Intro Offer for your subscription's lifetime
🎉 Black Friday sale is here! Great savings on professional and developer memberships! Get 25% off now with code BLACK-FRIDAY-2024!

CBsubs bug ( expired subscriptions still have Paid group membership)

  • mikerotec
  • mikerotec
  • OFFLINE
  • Posts: 346
  • Thanks: 28
  • Karma: 2
6 years 5 months ago - 6 years 5 months ago #305771 by mikerotec
This has just started "a while ago" ...

I notice that when users with Paid subscriptions expire, their accounts are still left set to Paid User group. :ohmy:
I just looked at a client today whose subscription expired 06/22 yet when I looked at his account he still belonged to groups "registered" and "Paid". If he doesn't drop the Paid membership when subscription expired, then he doesn't see the Renew buttons ( they are hidden for Paid user group).

This used to work fine ( for years) - I guess one of the recent upgrades has broken it?

I wrote up some db queries and it looks like we now have about 400 members that have expired paid subscriptions, but still have Paid group membership! I just scrolled through the members list, and out of the last 1000 members who have visited this month, fully 1% are "freeloaders" ( their subscriptions are expired, but they still enjoy the benefits of "Paid" group membership)

Can you provide a handy db query I can use to reconcile all these broken accounts in one fell swoop?
{set all accts currently with group membership 'registered,paid' that have expired subscriptions to have group membership 'registered' only}

And can we get the bug looked at? Could it be a configuration change required by the newest CBsubs?

Running J3.8.8. CB 2.2.0 CBsubs 4.3.0

PS: I just now updated to Latest CB (web update) and CBSubs 4.3.0+build.2018.06.26.23.36.33.1c22436a9

PPS: In the interest of diagnostics, I've just spent the last couple of hours manually removing the "Paid User" group memberships from users with expired Paid subscriptions. (still several hours to get them all done, If I can't get a handy script to re-mediate this)

What I have noticed is (aside from the first one I found, that expired six days ago but was still "Paid" group) is that all of these seem to have subscriptions that expired either 2010, 2011, or 2012. So that's SIX TO EIGHT YEARS OF LOST REVENUES, from hundreds of users. :( I can only assume there was a bug (or configuration glitch) that went undetected up to 2012 - when it was (accidentally) fixed?? But now the bug is back again?? Can we have some auditing tools to make sure this can never go undetected again?


PPPS: OK, I did some digging and I see that the Grace Period for our Paid subscription is set to TWO WEEKS. Was this a new default set in a recent update? I have reset it to no grace period!! Probably this explains why the subscription expired 06/22 was still set to paid... so HOPEFULLY there is no current bug with expiring subscriptions. (Although clearly there must have been one circa 2010-2012).

Would still like to have a db query I could execute to clean all this up. (and some kind of built in sanity check tool I could run periodically would be nice as well)
Last edit: 6 years 5 months ago by mikerotec.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48560
  • Thanks: 8292
  • Karma: 1445
6 years 4 months ago #305805 by krileon

Was this a new default set in a recent update?

Nope, the default grace period is no grace period. You can see this when creating a new plan.

Would still like to have a db query I could execute to clean all this up. (and some kind of built in sanity check tool I could run periodically would be nice as well)

You can run a query directly on the _cbsubs_plans table to set graceperiod column to 0000-00-00 00:00:00 to set it to none for all your plans.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: mikerotec

Please Log in or Create an account to join the conversation.

  • mikerotec
  • mikerotec
  • OFFLINE
  • Posts: 346
  • Thanks: 28
  • Karma: 2
6 years 4 months ago #305815 by mikerotec
How about a cleanup query to {set all accts currently with group membership 'registered,paid' that have expired subscriptions to have group membership 'registered' only}


I found a lot of debris in our system regarding accounts, as mentioned above literally hundreds of users were still granted "Paid" membership, despite their paid subscriptions having been expired in 2010, 2011, 2012.
(top user below is not showing an active subscription - but when you click on them you see their subscription expired 2010)


I also found some accounts that had Paid status, and clicking on them revealed subscriptions with no expiry date listed.
(strange glitch)

And I found a few that had both Free and Paid subscriptions attached ( even though our system is not set to downgrade expired Paid to Free). Again, even though they had expired subscriptions, they were still granted Paid user group access...
Attachments:

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48560
  • Thanks: 8292
  • Karma: 1445
6 years 4 months ago #305817 by krileon
CBSubs doesn't expire users unless expirations are triggered and expirations trigger based off what you set it to trigger off of within CBSubs > Settings > Global. Typically you'll want to setup CRON to trigger expirations daily. The default is to only trigger expirations on admin access, which means you need to visit the backend of CBSubs daily.

Are you purely basing this off the Subscription column within CB > User Management? It's possible there's a status check bug there. Review actual active subscriptions within CBSubs > Subscriptions.

Lack of expiration date means they've a lifetime subscription. Users still active after their expiration date means you didn't trigger expirations or the plan they subscribed to has a grace period of which they will expire once they've reached. You can also hit issues with people being subscribed as lifetime if you modify a plans duration from lifetime (e.g. plan is lifetime, user subscribes, you change plan to 1 year, user will still be lifetime despite your change).


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

Moderators: beatnantkrileon
Powered by Kunena Forum