Process sub-entity bank payouts
Beta
Last updated: September 16, 2026
Checkout.com can send funds on demand or on a schedule to a sub-entity's bank account.
When a sub-entity instructs a payout, the funds move from their currency account to their external bank account.
- Ensure that your sub-entity has passed the required onboarding checks.
- Ensure the recipient bank account country is supported by Checkout.com.
- Optionally, subscribe to webhooks to receive notifications.
Follow these steps:
- Add the recipient bank account details for Checkout.com to verify.
- Check the bank account field formatting for the recipient account's country and currency.
- Create a payment instrument.
- Sub-entity instructs an on-demand or scheduled payout.
Call the Upload a file endpoint to upload a bank statement for Checkout.com to verify the bank details.
To check the required bank account fields and format for the country and currency your sub-entity wants to pay out to, see Bank account field formatting.
Your sub-entity must create a payment instrument for each bank account and holding currency they want to use for payouts. The account details are saved securely in the Checkout.com Vault. Your sub-entity receives a unique instrument ID to use in payout requests, instead of entering the bank details every time.
For more information, see Add a payment instrument.
With on-demand payouts, sub-entity funds are paid out immediately, based on the payout instruction your sub-entity makes.
Your sub-entity can instruct a payout at any point in time, but if your sub-entity does so on a weekend or public holiday, the payment instruction may be carried out the following working day.
Your sub-entity needs the instrument_id value for the associated payment instrument to instruct an on-demand payout. To retrieve this value, call the Get payment instrument details endpoint, and provide the:
- Sub-entity ID as the
{entityId}path parameter - Payment instrument ID as the
{id}path parameter
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
get
https://{prefix}.api.checkout.com/accounts/entities/{entityId}/payment-instruments/{id}
1{2"id": "ppi_qn4nis4k3ykpzzu7cvtuvhqqga",3"label": "Bob's Bank Account",4"type": "bank_account",5"currency": "GBP",6"country": "GB",7"document": {8"type": "bank_statement",9"file_id": "file_wxglze3wwywujg4nna5fb7ldli"10},11"status": "verified",12"default": true,13"instrument_id": "src_pdasnoaxrtoevpyh3opgaxcrti"14}
Then, call the Request a payment or payout endpoint.
In the request body, provide the following:
source.typesource.iddestination.type– Set toid.destination.id– Set to theinstrument_idvalue from the Get payment instrument details response.amountcurrencybilling_descriptor.referenceprocessing_channel_id
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
post
https://{prefix}.api.checkout.com/payments
1{2"source": {3"type": "entity",4"id": "ent_y3oqhf46pyzuxjbcn2giaqnb44"5},6"destination": {7"type": "id",8"id": "src_pdasnoaxrtoevpyh3opgaxcrti"9},10"amount": 1000,11"currency": "GBP",12"reference": "PO-215-5721",13"billing_descriptor": {14"reference": "Payout_descriptor"15},16"processing_channel_id": "pc_hpswyyx23geezflc2ocz3exn4y"17}
If your sub-entity's payout request was sent successfully, you receive a 202 response, with the status Pending.
If your sub-entity's request was unsuccessful, you receive a 422 or 429 response containing an error code. For more information, see Bank payout response examples.
You receive one of the following webhooks notifying you of the payout status:
Your sub-entity can schedule payouts for any day of the week. However, payouts scheduled on a weekend or public holiday, the instruction may be carried out on the following business day.
You must first associate a payment instrument to the payout schedule before your sub-entity schedules payouts using the API. To do this, call the Update a sub-entity's payout schedule endpoint, and provide the sub-entity ID as the {id} path parameter.
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
put
https://{prefix}.api.checkout.com/accounts/entities/{id}/payout-schedules
1{2"ISO": {3"enabled": true,4"threshold": 100,5"payment_instrument_id": "ppi_w4jelhppmfiufdnatam37wrfc4",6"recurrence": {7"frequency": "weekly",8"by_day": [9"monday"10]11}12}13}
You receive one of the following webhooks notifying you of the payout status: