Hosts are getting incorrect payouts when there is a security deposit

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_transfer parameter 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.

Hi,

Thanks for reporting the issue. It should be fixed in the next update.

In the meantime, please use the temporary fix below:

Change line 2314 [hivepress-bookings/includes/components/class-booking.php] from:

update_post_meta( $order->get_id(), 'hp_commission_fee', $commission_fee );

to:

$order->update_meta_data( 'hp_commission_fee', $commission_fee ); $order->save();

Thanks for your patience.