Launch blocker: non-payment grace flow with warning, backup block, and shutdown #6

Open
opened 2026-05-02 23:29:55 +00:00 by jester · 0 comments
Owner

Launch blocker

Implement and validate overdue / non-paid server handling before launch.

Required policy

Non-paid servers must not be destroyed immediately.

Expected lifecycle:

  1. Initial warning

    • Notify customer that payment is overdue.
    • Make account/server billing state visible in Portal.
    • Give clear grace-period messaging.
  2. Restrict backup creation / export behavior

    • Block customer-initiated backup creation while overdue, unless explicitly allowed by policy.
    • Preserve existing backups and platform/PBS recovery data.
    • Do not delete customer data at this stage.
  3. Shutdown / suspend workload

    • Stop affected game/dev server workloads after the warning/grace threshold.
    • Mark server/account state clearly as suspended/overdue.
    • Prevent normal start/restart while unpaid.
  4. No immediate destruction

    • Do not destroy/delete the LXC/VM immediately on non-payment.
    • Destruction/deletion requires a later retention policy decision and separate final-warning flow.

Validation needed

  • Stripe/billing state transitions produce the correct overdue/suspended state.
  • Portal communicates warning and suspension clearly.
  • Server start/restart/create/backup routes honor overdue state.
  • Existing restore/PBS/platform backup safety remains intact.
  • Admin/manual override path exists or is clearly documented.

This should be treated as launch-blocking billing enforcement, alongside checkout/portal/webhook/upgrade/downgrade validation.

## Launch blocker Implement and validate overdue / non-paid server handling before launch. ## Required policy Non-paid servers must **not** be destroyed immediately. Expected lifecycle: 1. **Initial warning** - Notify customer that payment is overdue. - Make account/server billing state visible in Portal. - Give clear grace-period messaging. 2. **Restrict backup creation / export behavior** - Block customer-initiated backup creation while overdue, unless explicitly allowed by policy. - Preserve existing backups and platform/PBS recovery data. - Do not delete customer data at this stage. 3. **Shutdown / suspend workload** - Stop affected game/dev server workloads after the warning/grace threshold. - Mark server/account state clearly as suspended/overdue. - Prevent normal start/restart while unpaid. 4. **No immediate destruction** - Do not destroy/delete the LXC/VM immediately on non-payment. - Destruction/deletion requires a later retention policy decision and separate final-warning flow. ## Validation needed - Stripe/billing state transitions produce the correct overdue/suspended state. - Portal communicates warning and suspension clearly. - Server start/restart/create/backup routes honor overdue state. - Existing restore/PBS/platform backup safety remains intact. - Admin/manual override path exists or is clearly documented. ## Related launch context This should be treated as launch-blocking billing enforcement, alongside checkout/portal/webhook/upgrade/downgrade validation.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: jester/zlh-grind#6
No description provided.