6.4 Expired and Past-Due Licenses
A license stays Active as long as its subscription is being paid. If a payment fails or a subscription lapses, the license passes through two distinct states that have different effects on the sites using it.
Past-due vs expired
Past due means the most recent renewal charge failed — the card was declined, the account had insufficient funds, or similar. The subscription is still technically alive; Stripe will retry the payment on a schedule over a few days. During the retry window, the license remains Active and everything continues to work.
Expired means either that retries ran out without a successful payment, or that a canceled subscription's period-end date has passed with no renewal. At that point the license's status changes to Expired and the downstream effects below kick in.
[MEDIA: screenshot | 6-4-billing-past-due-row.png | A Billing page row showing a subscription in Past due state — Status column reads Past due (typically amber/warning styling), Renewal Date shows the failed renewal date. Use the Past due filter pill to narrow the table so the row is unambiguous. Set up by deliberately failing a test subscription's payment in Stripe test mode. Desktop view, tight crop to the row plus enough surrounding context to show the filter pill selected.] [ALT: A past-due subscription row on the Billing page with a Past due status badge] [CAPTION: none]
[MEDIA: screenshot | 6-4-licensing-expired-badge.png | A Licensing list row or license detail page showing a license in Expired state — the Expired status badge (typically red/warning styling), an expiration date in the past, and activations still listed. Useful for readers troubleshooting why their plugin has stopped updating. Desktop view, tight crop.] [ALT: A Tangible Cloud license showing Expired status with a past expiration date] [CAPTION: none]
What sites using the license see
The plugin running on each site checks in with Tangible Cloud on a recurring schedule. When a check-in returns an expired status:
- Plugin updates stop. The site won't be offered new versions through the standard WordPress update checker. Update metadata may still show, but the download is blocked until the license is renewed.
- Gated plugin features may be restricted in the plugin itself. The specific restrictions vary per plugin and are described in each plugin's documentation.
- Activations remain on the license record. The sites don't disappear from the Websites list — they just show up with an expired license attached.
Sites aren't immediately affected the moment a subscription lapses — the effects kick in on the site's next capability check-in, which can happen anywhere from minutes to a few days later depending on when the site runs its update schedule.
Restoring service
What you can do to restore service depends on which state the subscription is in.
If the subscription is past-due (license still Active)
At this stage the license is still Active and your sites keep working, but the renewal charge is failing. Updating the payment method lets Stripe's next retry succeed and clears the past-due state before it becomes an expiration.
- Click Billing in the left navigation.
- Use the Past due filter pill to find subscriptions with failed payments.
- Click Manage Billing to open the Stripe customer portal.
- Find the past-due subscription and update its payment method. Stripe will retry the charge automatically; you can also trigger a retry from the portal.
- Once the charge succeeds, the subscription returns to the normal active state and no further action is needed.
If the subscription was canceled but hasn't yet expired
If the subscription is canceled but its period-end date hasn't passed, you can still reactivate it from the Stripe customer portal and the license remains Active. See the "Undoing a cancellation" section in Canceling a Subscription.
If the license is already expired
Once a subscription's period has fully ended — either because retries were exhausted or a canceled subscription reached its period-end date — portal-based reactivation is no longer available. The license status is Expired and sites using it will lose access to updates on their next check-in.
To restore service at this point, buy a new subscription for the same product. See Buying a Product. The new license is a separate key, so you'll need to activate it on your sites in place of the old one.
Known issue: expired-license UI details
As of earlier internal reports, the Licensing page didn't always show the full activation details for expired licenses — the list of connected sites and per-site connection status could be incomplete. This has been tracked as a bug. If you see an expired license without the sites you expect listed underneath it, the data is likely still present on the backend; contact support if you need the details.