BE: Allow users to manually renew subscription up to 30 days post expiration
Summary
When the subscription expiration date is reached, we remove purchase event buttons (upgrade, add-on, renew, autorenew) from the subscription card. We specifically removed the Renew
button because the system wasn't processing the renewal properly upon selection.
Proposal
As per the Sales/Finance policy of updating customer subscriptions to cancelled and closing the respective Renewal opportunity 30 days after subscription term end date, we should allow the customer to renew their expired subscription within customers.gitlab.com with a 30 day grace period as well.
Success Criteria
- This applies to both GitLab.com and Self-Managed subscriptions
- This change does not extend the paid entitlement (SM license/GitLab.com paid features), nor the period in which the customer is entitled to paid support
- In customers.gitlab.com, when the expiration date is reached, all action buttons (upgrade, add seats, autorenew) should be removed except
Renew
- The user should be able to select the
Renew
button for a period of 30 days post the expiration date - Customers.gitlab.com should present the standard Renewal purchase flow to the customer and accept payment during checkout
- If payment fails, the transaction should not be processed and no change should be sent to Zuora
- If payment is successful, customers.gitlab.com should send a renewal amendment to Zuora with the subscription details
Testing & Availability
-
Renew
button is available on CustomersDot manage plan page if plan's expiration date is within last 30 days - For SaaS user,
Renew
button is also available on personal/group billing page - Hide
renew
button if the subscription expired more than 30 days ago - Upon clicking
renew
button, user enters the normal upgrade + renew flow.
Reported examples
Edited by Chloe Liu