Stripe is issuing miscalculated payouts. In this particular example, the host’s payout as displayed in Woocommerce and their dashboard should be $995.60 but the host was paid out only $805.60. The payout was $190 short. I believe this to be due to the $200 refunded security deposit minus the 5% commission.
Steps to reproduce
Book a place that has a security deposit and have the security deposit returned.
Actual result
Stripe pays $805.60 to host
Expected result
Stripe pays $995.60 to host
Extra details
I believe this is due to the security deposit return . Gemini’s recommendation is: Handle the Security Deposit as a Authorization Hold or Net-Zero Line Item
To keep security deposits clean:
-
Best Practice: Have your developers use Stripe’s Card Authorizations (
capture: false) to place a hold on the guest’s card for the $200 security deposit. If no damages are reported, release the hold. Because the money is never fully captured, it never enters your platform’s balance, never triggers a 5% fee calculation, and will never accidentally deduct from a host’s payout. -
Alternative (If fully captured): If you must capture the $200 up front, ensure that when the refund is issued via the Stripe API, the
reverse_transferparameter is either set to false (so it doesn’t pull funds back from the host’s connected account) or handled strictly as a net-zero transaction that bypasses your 5% platform fee application logic.
