Managing Subscriptions
Search, monitor, and manage your customer subscriptions.
Subscription Lifecycle
Subscriptions move through these states:

Subscription Status
Description
Trigger (Payment Status/Event)
Customer Access (Recomended)
Active
Subscription is in good standing. Payments are current and service is delivered.
Initial payment succeeded: Payment.Status = authorized/settled/OK Renewal payment succeeded: Payment.Status = authorized/settled/OK Recovery after retry:- Payment.Status = authorized/settled/OK
✅Yes, full access (entitled for the product/service)
Billing Retry (Redemption)
Payment on renewal failed, but failure is potentially recoverable (soft decline). System retries as per the strategy.
2nd + Payment Status = declined; Decline Type = soft_decline — Retry strategy engaged Time out of provider — Retry strategy engaged Examples: insufficient funds; timeout; issuer unavailable
✅Yes, access is typically retained (but merchant can revoke if needed.)
Cancelled
Subscription is terminated by user/admin or by hard payment failure No future renewals. User may have access until paid period ends, or access may end immediately.
User/admin/support cancellation:- Manual cancel via CRM Cancel request received via portal/API Immediate cancellation: Decline Type = hard_decline (e.g., stolen card, account closed, VSPS, R0/R1/R3 codes) Refund/void Fraud/alert event received (TC40/Ethoca/RDR/CRDN etc) Note: For scheduled cancellation, access continues until end of paid period. For immediate, access ends now.
✅ Access until end of period (scheduled); ❌No access (immediate)
Expired
Subscription is no longer active (billing ceased, term ended, all retries failed).
All retry attempts exhausted
❌ No access (product/service is revoked)
Paused (will not be in MVP stage)
The subscription is temporarily on hold (no billing occurs during the pause). This is a voluntary state initiated by the customer or admin, not directly tied to a payment failure.
– Applied when a user requests to pause their subscription (or an admin/business action pauses it) for a certain period. No new charges will be attempted during a pause interval. – A pause can be initiated only from Active (or possibly from the end of a trial);cannot pause an already canceled or expired subscription. The status changes to Paused for the duration of the pause.
❌ No access during the paused period.
Cancelation Pending
The state when the Subscription is cancelled, but the end of the cycle has not yet happened, from this state it transfers to Expired.
No further charges or retry attempts will happen
✅ Access until end of period (scheduled);
Retrieving Subscriptions
Get a Single Subscription
Response:
Search Subscriptions
Search subscriptions with filters:
Query Parameters:
status
Filter by status: ACTIVE, CANCELLED, EXPIRED, BILLING_RETRY
customer_id
Filter by customer ID
subscription_plan_id
Filter by plan ID
limit
Number of results (default: 20, max: 100)
offset
Pagination offset
Response:
Cancelling Subscriptions
Cancel Immediately
Cancel a subscription effective immediately:
Cancel at Period End
Allow the subscription to run until the current billing period ends:
Response:
Monitoring via Dashboard
Subscription List
Log in to hub.flintn.com
Navigate to Subscriptions
View all subscriptions with status, customer, and plan details
Filtering and Search
Use the dashboard filters to:
Filter by status (Active, Cancelled, Expired, Billing Retry)
Search by customer email or ID
Filter by subscription plan
Sort by created date or next billing date
Subscription Details
Click on a subscription to view:
Current status and billing period
Customer information
Plan details
Payment history
Retry attempts (if in BILLING_RETRY status)
Webhook Events
Monitor subscription changes in real-time:
SUBSCRIPTION_ACTIVATED
New subscription activated
SUBSCRIPTION_RENEWED
Subscription successfully renewed
SUBSCRIPTION_CANCELLED
Subscription cancelled
SUBSCRIPTION_EXPIRED
Subscription expired
SUBSCRIPTION_BILLING_RETRY
Failed payment retry attempt
See Configure Webhooks for setup.
Example: Handling Cancellation
Common Operations
Check if Subscription is Active
List Customer's Subscriptions
Handle Expiring Subscriptions
Best Practices
Graceful Cancellation
Allow customers to cancel at period end rather than immediately
Send confirmation emails with the effective cancellation date
Provide easy re-subscription options
Monitoring Billing Retries
Watch for
SUBSCRIPTION_BILLING_RETRYeventsConsider reaching out to customers with payment issues
Review retry strategy effectiveness periodically
Data Synchronization
Use webhooks as the primary source of truth for subscription status
Implement idempotent webhook handlers
Store the subscription ID in your database for easy lookups
Next Steps
Handling Failed Payments - Retry logic and dunning
Retry Strategies - Configure automatic retries
Transactions - View payment history
Last updated