Automatic Payouts continue to happen daily even when status is "completed"

Automatic Payouts continue to happen daily even when they have already been transferred on Stripe to the Host from prior days and the status of the order is “completed”

Stripe Screenshots


Database Screenshots
Everyday day [wp_actionscheduler_actions] table gets a new pending status for previously completed transfers to the host. As you can see below even though a transfer just happened to the host for the second day in a row (it should have never even gone twice for that matter) you can see another pending payout scheduled for tomorrow.

This will obviously continue indefinitely until I change the database status to “complete” for this above payout through a SQL update command.

HivePress Screenshots
We believe our configuration is correct:



Here is the status of that order in admin:

We really need your help with this one. If you need temporary access please let us know as soon as possible our Stripe balance is being drained and we can’t go live with this feature.

Thanks,
Tom

Thanks for reporting this, the bug is confirmed and we’ll fix it as soon as possible.

As a temporary solution please try to delete all actions by the hook hivepress/v1/models/order/payout in Tools/Scheduled Actions

But please note that it can delete payouts for active orders. So please pay attention to which order is the current payout action. Each payout action has 0 => order_id as the argument so you can know for which order the current payout

Unfortunately that would be too hard for us to do in a live environment. And we would not want to risk overpaying multiple hosts at our expense. Do you have an estimated time when this will be fixed?

Thanks,
Tom

Yes, this should be fixed in the tomorrow’s update, we’ll add a limit to the number of payout attempts and re-test the Stripe Connect payout workflow.

Thanks Ihor,

Can you recommend how we should have our site configured once this is fixed? If we’d like payouts to occur within 24 hours of booking end time what should we have set in the below fields?

Completion Period (Optional) : 1?
Payout Attempts: 1?

Can we also have “Require Manual Completion” checked? In case someone wants to release the payment exactly at the end of the booking time in real time? Or will that “Require Manual Completion” checkbox interfere with the automatic payouts?

Thanks,
Tom

You would not have to change any settings, we found a bug in the function that unscheduled the payout event so this should be ok. We’ll also limit the number of attempts.

The manual completion means that customers will have the Complete button on the order page, clicking it will be required for the order to get the Completed status. With Bookings this is not required, there’s an automatic status switch within 24 hours after the booking ends.

Any updates on this and when the next update is rolling out? I assume there were issues getting this live this past weekend.

Thanks,
Tom

Sorry for the delay, it should be available now.

Thanks this bug fix was in Marketplace 1.3.7? We are going to test now and let you know how it goes!

Thanks,
Tom

Yes, now there are single payout attempts and in case of a successful payout another attempt is not scheduled. Please remove the old recurring payout actions in Tools/Scheduled Actions if they still cause issues.

Thanks Ihor we are testing this now. When exactly does the payout occur let’s say if a booking ended at 6am this morning? Is it always at the same time like noon eastern or is it like 12 hours after 6am and will occur at 6pm.

We want to make sure we get our wording correct by saying “an automatic payout will occur within 24 hours of the booking end time”

Thanks,
Tom

Also it looks like you correctly fixed the bug. We thank you for that!

1 Like

It occurs exactly within 12 hours after the booking ends (so the host has 12 hours to do something if some items are damaged or there are other issues).

Thanks, I’m glad this is resolved!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.