Why reversing affiliate commissions on Stripe payment failures can backfire
Affiliate programs built on Stripe subscriptions face a subtle but costly flaw in how failed renewal payments are handled. The event 'invoice.payment_failed' fires once per retry attempt — up to eight times in two weeks — meaning a naive handler can claw back the same commission multiple times. Worse, many failures are temporary, so reversing a commission early can shortchange affiliates on payments that eventually succeed. A more reliable approach introduces a third commission state, such as 'pending_recovery', that holds the payout during the retry window rather than immediately reversing or paying it out. Terminal reversal should only trigger on confirmed uncollectible or voided invoices, though developers must note that 'invoice.marked_uncollectible' is a manual status and may never fire automatically.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in