Payment Failures
Payment failures are handled by Stripe's Smart Retry logic. Your instance stays running during retries — you do not lose access immediately if a single payment fails.
What triggers a payment failure
- Card declined (insufficient funds, expired card, fraud block)
- Bank-side rejection
- Payment method removed before billing date
- 3D Secure authentication timeout
Stripe's retry schedule
When a payment fails, Stripe automatically retries according to your account's Smart Retry configuration:
| Attempt | Timing |
|---|---|
| 1st attempt | Billing date |
| 2nd attempt | ~3 days later |
| 3rd attempt | ~5 days later |
| 4th attempt | ~8 days later |
| Final failure | After last retry — subscription cancelled |
You receive an email from Stripe after each failed attempt with a link to update your payment method.
What happens to your instance during retries
Your instance continues running normally during the retry window. The billing status on your Dashboard will show past_due but all API operations remain available. This is intentional — a single failed payment should not interrupt your work.
If the final retry fails, Stripe cancels your subscription and our system begins the cancellation flow:
- Your instance moves to
read_only(30-day grace period begins) - You receive a notification that your subscription has ended
- From this point, the cancellation flow applies
Resolving a payment failure
The fastest way to resolve a payment failure is to update your payment method:
- Go to Dashboard → Billing → Manage Subscription
- In the Stripe Billing Portal, select Payment Methods → Add
- Add a new card or update the existing one
- Stripe will retry the payment immediately
If the payment succeeds, your subscription returns to active status and the past_due flag clears.
Suspension (if all retries fail)
If all Stripe retries are exhausted and the subscription is cancelled:
- Your instance moves to
read_onlywithin seconds - The 30-day grace period starts (see Cancel Subscription)
- You have 30 days to resubscribe and start a new instance
To resubscribe, go to the Dashboard and complete a new Stripe Checkout. Note that resubscription creates a new instance — your previous atoms are in the read-only instance but are not automatically migrated. Export them during the grace period if needed.
Adding credits to resolve suspension
If your account has been suspended due to failed payments and you want to reactivate without resubscribing, you can add credits to bring your balance positive. Credit additions are processed atomically — the balance update and billing event are recorded together, so credits cannot be lost or double-counted. Each credit is tracked by its Stripe payment intent ID, making the operation safe to retry.
Payment failures during trial
If your first charge on day 15 fails, Stripe begins its normal retry schedule. Your instance continues running during retries. If all retries fail, the trial subscription is cancelled and your instance enters the standard 30-day read-only grace period.
Preventing payment failures
- Keep your card details up to date in the Billing Portal before the expiry date
- If you use a virtual card, ensure the limit covers your subscription amount plus any expected overage charges
- Enable email notifications in your Stripe billing settings to get advance notice of upcoming charges
- Check your Dashboard regularly — the
past_duestatus banner appears before your instance is affected - If you are travelling, pre-authorise your card for international transactions to avoid fraud blocks