Authorize Payments and Pay After Booking Date

I am referring to this topic here:

We currently have Stripe connect configured
image

We don’t have “request manual payout” configured and according to the topic above that closed 2 days ago Ihor mentions:

“If you set up Stripe Connect, there’s a scheduled function that runs 1 day after the booking end date, so this means that the booking is over and it wasn’t cancelled, so the booking amount is paid out (minus the commission fee) to the host. If you use manual payouts the booking amount is added to the host’s account balance on your site, once they reach the minimum payout amount they can request a payout.”

I have a booking set for this coming Friday (October 21st). I made the payment with my credit card and immediately after paying for that booking Stripe received the funds. I thought there was a schedule function that runs once a day to check if the booking wasn’t cancelled and if the end date passes it then charges the card to send to Stripe?

You can see in the screenshot below that it was charged today the 18th when I would expect this to go through on either the 21st or 22nd.

Is this a bug or do we have something configured incorrectly?

Thanks,
Tom

Hi,
All the initial payments are sent via the payment gateways set up in WooCommerce/Settings/Payments, and received by the website owner. If you have Stripe enabled there it’s ok if it received the booking payment immediately. Then, if you have Stripe Connect set up, and vendor set up their linked Stripe account while adding a listing or registering, then once the booking is over there will be an automatic payout from the Stripe Connect account you set up, to the linked vendor Stripe account that they created (please make sure that the main Stripe Connect account has sufficient funds for payouts).

Hi @ihor,

the platform already works as you mentioned. We have stripe connect enabled so the hotel has to link their stripe connect account or create one to be able to submit the listing.

(please make sure that the main Stripe Connect account has sufficient funds for payouts).

But can I know why you is that? are the funds for the hotel taken from our balance? if yes is it possible to customize that?

Because as far I understand it was normal that when the user paid (we collect the fees) and 24h after the booking day the hotel gets the amount from the original payment.

With Stripe Connect, payouts are made from the main Stripe Connect account you set up for your site to sub-accounts created by hosts when they register, Stripe Connect payouts are not based on payments received by the website Collect payments then pay out | Stripe Documentation If you also set up Stripe as a payment gateway to accept payments for bookings in WooCommerce/Settings/Payments, if everything is linked correctly the Stripe payments should “top up” the Stripe Connect balance so there will always be funds for payouts.

Hi @ihor,

what you mentioned with which Stripe Payment is working? (ex Direct Charged, Destination Charged etc etc)

I’m asking that because at this point we may need something like that in the pic below, but the first connected account is still our account that will be used only to secure our platform fees, and the other to pay the hotel.

  • We want to transfer the payment to the hotel ONLY once the Credit Card charge has been processed to avoid the amount being taken from our balance.

  • We would like to release the payment ONLY 24h after the check-in as you mentioned.

I have created a new document that will explain in more detail. I’m not sure if we implement with option 1 or option 2 so I have posted both scenarios:

Our main question is how is HivePress technically connected to Stripe from an API perspective. For example if a booking date ends 1 month from now is HivePress using

Is HivePress using the below API “Transfer” to achieve this?

\Stripe\Stripe::setApiKey('sk_test_1MmXDWaPVg5BWQCy7zm4tnjX');

$transfer = \Stripe\Transfer::create([
  "amount" => 1000,
  "currency" => "usd",
  "source_transaction" => "{CHARGE_ID}",
  "destination" => "{{CONNECTED_STRIPE_ACCOUNT_ID}}",
]);

How can we achieve this with HivePress and the above proposed Workflows?

Thanks,
Tom

It works this way by default, but it doesn’t transfer commission fees, if you own the main Stripe Connect account then all the commissions will be left on the balance after payouts (since the payout amounts don’t include these fees, they depend on the commission rate and/or fee you set). If you use bookings then payout will be triggered within 24 hours after the booking ends so the card is charged for sure by then because a booking is confirmed only on successful payment.

It’s Option 2 in the current version, the payout amount doesn’t include the commission so the commission amount is left on the main Stripe Connect account (owned by the website) after payouts. We use the transfer API, a transfer is triggered within 24 hours after the booking ends.

Question 1)
So if HivePress is using the Transfer API then HivePress is keeping track of the source_transaction charge_ID?

Question 2)
How does HivePress use Payment_Intent when integrating with Stripe? Is HivePress using Stripe “separate charges and transfers” and how do we configure and collect a commission when deducting our fees when the transfer request is initiated VIA the transfer API?

Thanks,
Tom

How do we specify the transfer amount minus commission fees? So that our fees are collected when the transfer occurs.

  1. There’s no such linking yet because the initial payments are charged via any of the available WooCommerce payment gateways, there’s no requirement to use Stripe for accepting payments.

  2. HivePress doesn’t implement anything regarding Stripe for accepting payments (these payment features are enabled via WooCommerce integration), it just makes this API request Stripe API reference – Create a transfer – curl and sends the vendor’s share to their linked Stripe account (the order amount minus the commission fees). This way you always get the commission because all the initial payments are made to you, but vendors get a reduced amount.

You don’t have to specify any amounts manually, for example if you set the 10% commission rate and there’s an order of $100, the initial payment is made to you (via any of the payment gateways enabled in WooCommerce), while the vendor will get $90 (HivePress will trigger a Stripe Connect transfer of this amount when the order is completed). This way you have $10 left after the payout.

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