Sending payment with Stripe Connect

Hi, I’ve implemented Stripe Connect (using the Stripe Marketplace Express by @ZeroqodeSupport plugin and @lachlankirkwood1 video tutorial) for a marketplace so the Seller automatically gets paid, and my platform takes a commission.

Currently, the Seller updates their payment information and creates an account with Stripe. Then, the Buyer registers their card details when purchasing the service.

However, as the service is a video call I only want the payment to take place AFTER the call in case either member does not show up etc.

Does anyone know how to push that transaction after the call has taken place? Obviously, there can’t be a button after the call has taken place as there are benefits on either side to want/or not want the payment to go through. @ZeroqodeSupport any ideas?

I think I might need to create an internal dashboard to push the payments but I’m not sure if that is correct.

Thanks!

Using Stripe APIs you could set that up. I’m not familiar with the plugin capabilities but you would want to create a payment_intent (Stripe terminology) when they sign up for the session and then use the APIs to collect payment using that payment_intent after the session has been completed.

I would push you to think about that setup though as your intention would make it so that a Seller who is scheduling their time to attend the session will not receive money for a session that a user who scheduled doesn’t show up for, which means just wasted time/money for the seller.

In my Skillup Template which allows Sellers to setup their availability schedules and accept bookings for online meetings through Stripe I take payment at the time of booking and only after successful payment is the booking confirmed. Then both users have the functions necessary to allow them to cancel the meeting and the booker can actually modify the date/time after initial confirmation.

All of that takes place with different ‘Cancellation Policies’ in mind so that if the cancellation policy set by the Seller has caused the time to pass for free cancellation/rescheduling then the Booker will be informed when attempting to reschedule or cancel they will have to pay the cancellation/rescheduling fees.

A setup like that makes it so that there is real value to a Seller to use the platform, rather than potentially causing the Seller to lose their valuable time for bookers who just don’t show up to a scheduled booking.

If you are interested in learning more about how to integrate Stripe through APIs I recently launched a Stripe Integration Course that will teach how to setup your app to utilize Stripe API so you have complete control over the functions and are not limited to the plugin functions.

Thank you @boston85719 . Your course looks great - I much prefer learning rather than trying to use templates so think this might help.

Although, the problem itself is when to push that payment after the session has taken place. For example, if I used payment_intent to collect a payment, how do I trigger that payment? Would you specify a time period to collect after taken place or would a ‘button’ need to be manually pressed to trigger the workflow?

The customer will always be charged, even if the customer does not show up. However, if the seller does not show up the customer will need to be refunded or not charged. If an automatic payment was created to run after a specific time period it causes potential problems (e.g. I wasn’t notified in time to issue a refund etc.)

Therefore, it might be helpful to have a list of sessions that need to be manually approved or ‘pushed’ internally once I can be sure the session took place successfully.

Does it allow you to do this or will this problem still be there?

In the course there is an extensive use of backend workflows, and in fact all Stripe API calls are done in backend workflows for data protection. After following the course, the likely approach you’d take is to setup the checkout session api to run passing that payment_intent value in a backend workflow that is scheduled based on the sessions ending time.

Okay, thanks for clarifying that.

You’ll need to implement a system in which both the seller and the purchaser are surveyed to find out if the seller was present for the scheduled meeting…once you have that confirmed then you could trigger the api calls to charge.

I would just setup an email to be sent to both users with link to press to indicate if the session ran successfully or not…if there are differences in reports then need to do more to confirm.

Are these sessions taking place on your platform? If so you could probably set things up to take an automatic screen shot on start to show both users present or something along that line…if the sessions are off platform you need to rely on moral users.

Thank you @boston85719 - understood.

However - this is the key part (sorry maybe I’ve done a terrible job of explaining) how do you trigger that API call? Not technically, but more simply - where do you manually push a metaphorical ‘yes’ to call the charge for that specific booking (let’s say the API was already set up)? Do I need an internal dashboard with a button saying ‘release funds’? etc

Hi @julia1, thanks for your question, and thanks @boston85719 for your valuable input.

For workflows that might be useful in your case, allow us to recommend checking the plugin Live Demo & Demo editor page namely related to “Setup”, “Payment #1” and “Creating an offsession PaymentIntent” flows.

Hope it helps. Please let us know if any other plugin-related help is required :slightly_smiling_face:

Regards,
Zeroqode Support Team