Thanks for the reply. I think I solved my problem so I will post my results here for others to benefit…
Step 1: Booking Request
- Make sure to have a Marketplace Token on page.
- Make sure to have a “Transaction” data type in the DB.
- When the customer clicks “Book” workflow = (Create Thing “New Transaction”, Create Session w/Capture Method set to “Manual”, update Transaction from step 1 with “Session ID” and “Intent ID”, go to Checkout SCA. This will AUTHORIZE the charge.
Step 2: Booking Accepted
- When host accepts the booking, use workflow action “Capture a payment intent” and lookup the “Intent ID” from the transaction data type previously created in DB. This will CAPTURE the charge.
Step 3: Disperse funds to host
- Scheduled to run 24 hours after guest check in, use workflow action “Create a transfer” to host. This will PAY the host their amount, while leaving any remainder in the platforms account.
*These instructions are not ALL INCLUSIVE. You’ll need to still reference Zeroqode’s above tutorial (which is awesome) for configuring the workflow action fields. These are just the added things I needed to do that were not included in original docs.
**For duplicates… it looks like just using conditionals on workflows if someone has existing stripe ID or not.
***I still have not found whether receiving the funds from the booker… and then transferring to the host at a later date causes any legal implications (such as now hosts become employees instead of self-employed) but I’m fairly hopeful it doesn’t so long as agreement terms language is clear.