Stripe Connect Bug Silently Lets Sellers Keep Money After Customer Refunds
A subtle but costly issue in Stripe Connect allows platforms to refund customers without reclaiming funds already transferred to sellers, due to a parameter called reverse_transfer that defaults to false. When a destination charge is refunded via the standard API call, only the customer-facing charge is reversed; the transfer to the connected account remains intact unless explicitly reversed. The problem produces no errors, failed webhooks, or log warnings, making it invisible until a manual audit is performed. Partial refunds, platform fee handling, and dispute resolutions each behave differently and can compound the financial gap in separate ways. Developers are advised to reconcile charge refund events against transfer reversals using a SQL join, and to treat automatic ledger verification as a system requirement rather than a manual check.
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