You pay an affiliate 30% for referring a customer. Three weeks later that customer refunds. Now the affiliate is holding a commission on a sale that no longer exists, and you have to decide what happens to that money. If you only thought about this after it happened, you have already lost the clean version of the fix.

I build affiliate software on Stripe, and the clawback case is the one teams skip until it bites. Here is how to design for it before it does.

Earned is not the same as payable

The first mistake is treating a commission as money the moment the sale clears. It isn't. A commission is a claim against a sale that might still reverse. Stripe makes that gap concrete: a customer can refund whenever they want, and a card dispute can land up to 120 days after the charge. Your payout schedule (say, monthly) runs on a completely different clock.

So you have two timelines that don't line up: how long a sale can still reverse, and how soon you pay out. Pay before the first window closes and you are paying real money on revenue you may have to give back.