ArcalotlArcalotl
Reference

Subscription Lifecycle

Understand subscription states and how Arcalotl changes Discord access.

Arcalotl turns subscription events into Discord access, retention messages, and dashboard status. This lifecycle explains how billing changes become member-facing actions in your server.

Status reference

StatusMeaningAccess behavior
pendingCheckout or activation is in progressRole is not guaranteed yet
activeStripe says the subscription is activeRole should be granted
trialingStripe says the subscription is in a trial periodRole behavior depends on server configuration
past_dueA renewal failed and payment recovery may be runningRole remains during the grace period
cancellingCancellation is scheduled for the end of the billing periodRole remains until access ends
cancelledSubscription has endedRole should be removed
pausingA pause save offer was accepted and Stripe pause confirmation is pendingRole behavior follows the pause flow until Stripe confirms
pausedStripe says the subscription is pausedAccess can be removed when the paid period expires
incompleteInitial payment needs action or has not completedRole is not granted as active access
incomplete_expiredStripe expired an incomplete initial paymentTerminal state, no automatic recovery path

Arcalotl can receive trialing from Stripe, but public plan creation does not expose trial setup yet.

Common transitions

TransitionTrigger
pending to activeStripe confirms checkout or subscription activation
active to past_dueStripe reports a failed invoice payment
past_due to activePayment succeeds after recovery
active to cancellingMember confirms cancellation
cancelling to activeMember reactivates before the period ends
cancelling to cancelledStripe confirms cancellation
active to pausingMember accepts a pause save offer
pausing to pausedStripe confirms pause
active to activeTerm optimization changes monthly billing to annual

Role access rules

Arcalotl grants the configured Discord role when a subscription becomes active. It removes the role when access ends, when payment recovery grace expires, or when a terminal billing state requires access removal.

The bot must be able to manage the configured role. If Discord blocks role changes, billing state may be correct while Discord access needs support attention.

Payment recovery grace

When a renewal fails, the subscription becomes past_due. Arcalotl starts payment recovery and keeps the role during the configured grace period.

If payment is still unresolved after the grace period, Arcalotl removes role access while the payment recovery sequence continues toward recovery or exhaustion.

On this page