The overnight pass
The pass runs once a night against your own Stripe Billing account. It reads the charges that failed, checks each one against the gate, works out whether the next rung is due, and stages what is due behind the kill window. It is the only thing in the product that decides a rung is due.
Your last pass wrote 24 receipts and ran 6d ago.
The schedule you set
| rung | when | retries the card | writes the customer |
|---|---|---|---|
| Quiet retry | 1 day after it fails | yes | no |
| First notice | 3 days after it fails | yes | yes, friendly |
| Second notice | 5 days after it fails | yes | yes, firm |
| Final notice | 7 days after it fails | yes | yes, final |
The first rung is silent on purpose. A card that failed on a Tuesday balance often clears on a Wednesday and the customer never needs to hear about it. Day three is the first time they hear anything, which is also the first point at which a balance problem has had a payday to resolve itself.
The gate that fails closed
Three independent stop signals are checked before any reattempt, in the order they degrade. Any one of them ends that charge permanently. There is no flag anywhere that gets past this.
- The issuer's own advice code.
do_not_try_againis the issuer saying the card must not be used again for this charge. - Stripe's hard decline list, 9 codes:
incorrect_numberlost_cardpickup_cardstolen_cardrevocation_of_authorizationrevocation_of_all_authorizationsauthentication_requiredhighest_risk_leveltransaction_not_allowed - The raw network response code, when neither of the first two came through: 04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1, R3.
The issuer returned the advice code do_not_try_again — the card must not be used again for this charge.
Stripe · Card declines · advice codes
The network hard-declined this card (pickup_card). Stripe does not retry this code and neither do we — recovery needs a new payment method.
Stripe · Automate payment retries · Hard decline codes
Our own cap is 4 retries per customer per failed charge, and it cannot be configured to or past 14. The card networks allow 15 reattempts in 30 days, so the ceiling is enforced in code rather than left to whoever fills in the settings page.
The kill window
Approving does not send. It stamps the approval and sets a release instant 30 seconds out, and the dispatcher's claim query filters on that instant. Undo does not race the send, because until that instant there is nothing to race: the dispatcher cannot see the row.
The window covers both halves of a rung, the retry against the card and the note to the customer. A retry that has left cannot be taken back. The authorization is already at the issuer and it counts against the network's own reattempt ceiling.
How much it does on its own
This account is in copilot. Copilot never fires on its own: every rung that comes due waits for a tap. Autopilot fires, except for charges over the threshold you set, which is $500.00 of monthly recurring revenue by default ($500.00).
Autopilot is earned. 10 approvals with no edit unlock it, and this account has 6. It is not unlocked yet. The hard decline stop is not a mode and autopilot does not weaken it.
Rails
| rail | account | state | last synced |
|---|---|---|---|
| stripe | Northlight · acct_demo | connected | 6d ago |
| resend | billing@northlight.example | connected | 6d ago |
CardChase never sees a card number. It reads the brand, the last four digits and the decline code from Stripe, and retries are executed by Stripe against the payment method already on file.
The plan
The price is in the rail beside this. There is no trial and no free plan. The live console you are reading runs on the demo book, which needs no account and no card.