Subscription brands
A failed renewal still settles, not cancels.
Recurring revenue makes every failed renewal a predictable loss. The extension completes the challenge step inline, strips the gates that block the card, and reports the gateway's own outcome so a failed renewal is visible.
What changes
- Challenge step completed inline
- Blacklist gates stripped
- Decline code reported verbatim
- Charge id kept beside the run
The renewal is the cheapest failure to read
A customer who cancels has made a decision. A customer whose card failed has not. Treating both the same way is how subscription businesses lose revenue they never had to lose.
The extension keeps the checkout mounted through the challenge step, confirms the intent once, and reports the gateway's own status so a renewal failure has a name instead of a guess.
Recovery should not be a support queue
The usual fix is a human in a dashboard, working a list of failed renewals by hand. That does not scale past a few hundred subscriptions, and it does not run on weekends when a large share of failures happen.
Here the run reports itself. The menu shows the outcome, the decline code and the trace, and a settled run posts the card to the relay you configure.
Proration stays where it belongs
Trials, upgrades and downgrades still run through the checkout's own pricing. The extension only completes the challenge and reports the outcome, so the numbers on the invoice do not change because an extension is loaded.