Hello @littlesnow,
A users role will be removed once their subscription expires. In case the subscription expired and the role was not removed instantly, the user still won’t be able to access any restricted content. This is because we are checking the expiration date instead of the subscription status.
Note: If the user used PayPal Standard recurring subscriptions and their subscription was canceled, the expiration could be delayed (+36 hours)
I’m not using the plugin’s restriction feature, but using my own to restrict content based on roles. The user also only used one time payment and they cancelled a day earlier than the expiration. But more than a day passed from the expiration date and their subscription status was still not changed to expired.
Hi @littlesnow,
The subscription status check is made by a different cron. It’s possible that the cron job that handles the expiration failed.
Here’s how we can debug it:
1. Please install this plugin: https://wordpress.org/plugins/wp-crontrol/
2. Visit WordPress -> Tools -> Cron Events
3. Search for the pms_check_subscription_status record. Click “Run Now”.
4. Do you get a “Successfully executed the cron event pms_check_subscription_status.” notification at the top?
This should expire the subscriptions that have passed their expiration date. If that happens, please go to Dashboard -> Plugins, deactivate Paid Member Subscriptions, and then activate it back. This should attempt to register the crons again.
Also, there are two cron jobs: one that runs on the website level and one that runs on the server level. In order to be sure that everything works correctly my advice will be to contact your hosting provider and ask them if they can configure this website to make cron-job work on the Server level.
Let me know how this goes