Process sub-entity bank payouts
Beta
Last updated: March 25, 2026
You can send funds on demand or on a schedule to a sub-entity's bank account.
When you instruct a payout, the funds move from the sub-entity's currency account to the sub-entity's 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.
- Instruct an on-demand payout or schedule payouts.
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 you want to pay out to, see Bank account field formatting.
You can create a payment instrument for each bank account. The account details are saved securely in the Checkout.com Vault. You receive 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 you make.
You can instruct a payout at any point in time, but if you do so on a weekend or public holiday, the payment instruction may be carried out the following working day.
You need 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 payout request was sent successfully, you receive a 202 response, with the status Pending.
If your 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:
You can schedule payouts for any day of the week. However, if 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 scheduling 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: