Bug #9720
open
Renew buttons showing for auto recurring subscriptions with a grace period
Added by krileon 2 days ago.
Updated 1 day ago.
Start date:
24 September 2025
Description
When an auto recurring subscription expires the grace period is intended to allow time for webhooks to pay the subscription. However during that period the renew button still shows! This can cause users to end up paying twice! Once manually then finally when the auto recurring payment completes. This button, and renewals entirely, for auto recurring payments MUST be suppressed during grace period.
This should also not mislead the user into thinking their subscription is expired. It should show as a pending state and note it's pending payment.
Looks like this should already be the case, but the $this->autorecurring_type !== 2
check is failing as $this->autorecurring_type
is returning 0
in checkIfRenewable()
for some reason. Needs more investigation.
The checkRenewalUpgrade()
is being called multiple times with different objects of the same subscription, but different $this->autorecurring_type
values. Looks like cache pollution.
Ok, tracked down to $realStatus reporting expired while still technically active due to grace period. Going to completely need new code to deal with this for autorecurring subscriptions specifically as we don't want people manually renewing them during grace period.
- File Screenshot 2025-09-24 125345.png added
- File Screenshot 2025-09-24 112917.png added
- File deleted (
Screenshot 2025-09-24 112917.png)
- File deleted (
Screenshot 2025-09-24 125345.png)
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Also available in: Atom
PDF