Before you start
- A seller account. It does not need a payment-accepting capability on this shape, and does not need
payoutsactive until it withdraws. See Create an account. - A product to sell. See Products.
- Your own
card_collection(or whichever payment method you offer) active on your platform, since your platform is the one being checked, not the seller. See Capabilities.
Steps
1
Create the checkout as your platform
Do not send
X-Account-Id. Name the seller in transfer_data.destination and set platform_fee: the seller receives what is left of the sale after it, so a destination charge with no fee leaves your platform nothing to pay Bachs’s processing fee from.checkout_id names the checkout for your own records and for GET calls; checkout_url carries a separate token, not the id, so do not parse one out of the other.2
Send the customer to the checkout
Redirect them to
checkout_url. Bachs hosts the payment page and collects the charge against your platform.3
Confirm from the webhook
Bachs sends checkout.completed once the customer finishes. Check No Connect event routing to worry about here: this event is your platform’s own, so it arrives on any endpoint the same as any other event of yours. That is specific to this shape; a direct charge’s event originates with the account instead.
data.payment_status: paid means a charge was made. organization_id on the event is your platform, since the checkout was your platform’s.Event
4
Read the seller's payout back
The seller’s share settles as a transfer from your platform to the seller once the charge settles. List it with
kind=payout.status is paid once settlement has posted the movement, pending before it has. The transfer carries the full "19000.00" the customer paid, because you named your cut with platform_fee. Your "2000.00" settles separately, readable from GET /v1/platform_fees. If you instead fix the seller’s share with transfer_data.amount, the transfer carries only that amount and your platform mints no separate fee record. See Destination charges for both forms.What happens next
The charge settles into your platform’spending_balance, then available_balance. The seller’s share moves at the same time, into its own balance. From there the seller withdraws on its own payouts capability. See Payouts.

