Bug #9720
closedRenew buttons showing for auto recurring subscriptions with a grace period
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.
Updated by krileon about 2 months ago
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.
Updated by krileon about 2 months ago
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.
Updated by krileon about 2 months ago
The checkRenewalUpgrade() is being called multiple times with different objects of the same subscription, but different $this->autorecurring_type values. Looks like cache pollution.
Updated by krileon about 2 months ago
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.
Updated by krileon about 2 months ago
Related topic for this issue.
Updated by krileon about 2 months ago
ยท Edited
- File Screenshot 2025-09-24 125345.png added
- File Screenshot 2025-09-24 112917.png added
Updated by krileon about 2 months ago
- File deleted (
Screenshot 2025-09-24 112917.png)
Updated by krileon about 2 months ago
- File deleted (
Screenshot 2025-09-24 125345.png)
Updated by krileon about 2 months ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Fixed in MR !371