Bank payouts testing
Last updated: November 26, 2025
Use the examples on this page to test Enterprise bank payouts scenarios.
Information
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.
The paid status indicates that the payout was successful. The example below shows a valid request for merchants contracting with CKO Ltd, paying out to the UK in GBP. The bank details required are bank account then sort code.
post
https://api.sandbox.checkout.com/payments
1{2"source": {3"type": "currency_account",4"id": "ca_pt5kvurrlmrube2crzaqdhqbdm"5},6"amount": 10,7"destination": {8"type": "bank_account",9"account_type": "current",10"account_number": "55555555",11"bank_code": "202015",12"country": "GB",13"account_holder": {14"type": "individual",15"first_name": "John",16"last_name": "Smith",17"country_code": "GB",18"billing_address": {19"address_line1": "123 High St.",20"city": "London",21"zip": "SW1A 1AA",22"country": "GB"23}24}25},26"currency": "GBP",27"reference": "Payouts - GB Testing",28"billing_descriptor": {29"reference": "CKO - payouts - GB Testing"30},31"instruction": {32"purpose": "Payouts - sbox testing"33},34"processing_channel_id": "pc_ru45af4clzpeffww6fd5bqlvje"35}
1{2"id": "pay_3tbq6nwlgy7epjf6lsafzejlqq",3"status": "Pending",4"reference": "Payouts - GB Testing",5"instruction": {6"value_date": "2023-06-12T17:24:55.8771497Z"7},8"_links": {9"self": {10"href": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq"11},12"actions": {13"href": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq/actions"14}15}16}
1{2"id": "evt_3x54vfczj45ehjpwbkijbauooq",3"type": "payment_paid",4"version": "1.0.33",5"created_on": "2023-06-12T17:24:55.8771497Z",6"data": {7"id": "pay_3tbq6nwlgy7epjf6lsafzejlqq",8"reference": "Payouts - GB Testing",9"action_id": "act_3vz6yrnwtr4ezohqbiwdqstk5a",10"response_code": "10000",11"response_summary": "Approved",12"amount": 1000,13"currency": "GBP",14"source": {15"type": "currency_account",16"card_on_file": false,17"id": "ca_pt5kvurrlmrube2crzaqdhqbdm"18},19"destination": {20"type": "bank_account",21"id": "src_osjaqn3jvleelk4kegwmwslmre",22"fingerprint": "vnsdrvikkvre3dtrjjvlm5du4q"23},24"processed_on": "2023-06-12T17:25:55.8771497Z",25"instruction": {26"value_date": "2023-06-12TT00:00:00+00:00"27},28"event_links": {29"payment": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq",30"payment_actions": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq/actions"31}32},33"_links": {34"self": {35"href": "https://api.sandbox.checkout.com/workflows/events/evt_3x54vfczj45ehjpwbkijbauooq"36},37"subject": {38"href": "https://api.sandbox.checkout.com/workflows/events/subject/pay_3tbq6nwlgy7epjf6lsafzejlqq"39},40"payment": {41"href": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq"42},43"payment_actions": {44"href": "https://api.sandbox.checkout.com/payments/pay_3tbq6nwlgy7epjf6lsafzejlqq/actions"45}46}47}
Information
To check the payout's status, call the Get payment details endpoint.
This is an immediate API response from our validation service that informs you of any payment elements that have not been provided and are required or have an invalid formatting.
For error codes are explained in further detail here.
post
https://api.sandbox.checkout.com/payments
| Header | Value |
|---|---|
required |
|
required |
|
1{2"source": {3"type": "currency_account",4"id": "ca_2tnpfwrkkbeexkfnrpqxvpmtuu"5},6"amount": 10,7"destination": {8"type": "bank_account",9"account_type": "current",10"iban": "FR1212345123451234567A12310131231231231",11"currency": "EUR",12"country": "FR",13"account_holder": {14"type":"individual",15"first_name": "Jane",16"last_name": "Smith",17"country_code": "FR",18"billing_address": {19"address_line1": "123 Example St.",20"city": "Erquy",21"zip": "22430",22"country": "FR"23}24}25},26"currency": "EUR",27"reference": "Payouts - FR Testing",28"billing_descriptor": {29"reference": "CKO - Payouts - Testing"30},31"instruction": {32"purpose": "Payouts - Testing"33},34"processing_channel_id": "pc_zffqslexocpunoetvhxv54m2na"35}
1{2"request_id": "dc2b166d-c2c2-469b-960c-c4bb8209b09d",3"error_type": "processing_error",4"error_codes": [5"iban_invalid"6]7}
To trigger a decline, you can use any of the account numbers or IBANs (depending on the required bank field) in the table below.
| Decline Reason | Decline Code | IBANs | Account Number |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
The full list of decline codes can be found here
post
https://api.sandbox.checkout.com/payments
| Header | Value |
|---|---|
required |
|
required |
|
1{2"source": {3"type": "currency_account",4"id": "ca_pt5kvurrlmrube2crzaqdhqbdm"5},6"amount": "10",7"destination": {8"type": "bank_account",9"account_type": "current",10"account_number": "0050001",11"bank_code": "202015",12"country": "GB",13"account_holder": {14"type": "individual",15"first_name": "John",16"last_name": "Smith",17"country_code": "GB",18"billing_address": {19"address_line1": "123 High St.",20"city": "London",21"zip": "SW1A 1AA",22"country": "GB"23}24}25},26"currency": "GBP",27"reference": "Payouts - GB Testing",28"billing_descriptor": {29"reference": "Decline"30},31"instruction": {32"purpose": "Payouts - sbox testing"33},34"processing_channel_id": "pc_wxqex6b4ciruhopr2lzm3sutiu"35}
1{2"id": "pay_wxqex6b4ciruhopr2lzm3sutiu",3"status": "Pending",4"reference": "Payouts - GB Testing",5"instruction": {6"value_date": "2023-06-12T17:28:45.8845997Z"7},8"_links": {9"self": {10"href": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu"11},12"actions": {13"href": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu/actions"14}15}16}
1{2"id": "evt_mzaup7g6chbuleywv2kvp4d4i4",3"type": "payment_declined",4"version": "1.0.33",5"created_on": "2023-06-12T17:28:45.8845997Z",6"data": {7"id": "pay_wxqex6b4ciruhopr2lzm3sutiu",8"reference": "Payouts GB - Testing",9"action_id": "act_5fxa4dxs3v4u3ahyicmksltrgm",10"response_code": "50001",11"response_summary": "Compliance error",12"amount": 10,13"currency": "GBP",14"source": {15"type": "currency_account",16"card_on_file": false,17"id": "ca_pt5kvurrlmrube2crzaqdhqbdm"18},19"destination": {20"type": "bank_account",21"id": "src_2c5qyro5rkbubaisjijhfahnr4",22"fingerprint": "vnsdrvikkvre3dtrjjvlm5du4q"23},24"processed_on": "2023-06-12T17:29:45.8845997Z",25"event_links": {26"payment": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu",27"payment_actions": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu/actions"28}29},30"_links": {31"self": {32"href": "https://api.sandbox.checkout.com/workflows/events/evt_mzaup7g6chbuleywv2kvp4d4i4"33},34"subject": {35"href": "https://api.sandbox.checkout.com/workflows/events/subject/pay_wxqex6b4ciruhopr2lzm3sutiu"36},37"payment": {38"href": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu"39},40"payment_actions": {41"href": "https://api.sandbox.checkout.com/payments/pay_wxqex6b4ciruhopr2lzm3sutiu/actions"42}43}44}
Payouts can be submitted using a pre-configured Checkout instrument (more information here).
Below is a request example you can use to make a EUR payout to a corporate/business recipient in Spain (if you are a merchant based in EEA).
post
https://api.sandbox.checkout.com/instruments
| Header | Value |
|---|---|
required |
|
required |
|
1{2"type": "bank_account",3"iban": "ES9121000418450200051332",4"currency": "EUR",5"country": "ES",6"account_holder": {7"type": "corporate",8"company_name": "Acme Corporation",9"billing_address": {10"address_line1": "456 Test St.",11"city": "Madrid",12"zip": "28009",13"country": "ES"14}15}16}
1{2"iban": "ES9121000418450200051332",3"bank": {4"name": "CaixaBank SA",5"branch": "Via Roma",6"address": {7"address_line1": "456 Test St.",8"city": "Salou",9"zip": "43840",10"country": "ES"11}12},13"type": "bank_account",14"fingerprint": "tsrjngs7xr3unhvalwacsp6ora",15"id": "src_anebzamwgj3u5g5uqx72micura"16}
1{2"source": {3"amount": 10,4"type": "currency_account",5"id": "ca_4jewwjd77l6upmxper675vegey"6},7"destination": {8"type": "id",9"id": "src_anebzamwgj3u5g5uqx72micura"10},11"currency": "EUR",12"reference": "Payout testing",13"billing_descriptor": {14"reference": "Bank Payout Statement Reference or Decline"15},16"instruction": {17"purpose": "Payouts - Testing Instrument"18},19"processing_channel_id": "pc_hpswyyx23geezflc2ocz3exn4y"20}
If you use 000000 for the sort code and account number this will result in a validation error and the payment instrument will not be created.
1{2"type": "bank_account",3"account_number": "0200051332",4"bank_code": "000000",5"currency": "GBP",6"country": "GB",7"account_holder": {8"type": "corporate",9"company_name": "Acme Corporation",10"billing_address": {11"address_line1": "123 High St.",12"city": "London",13"zip": "SW1A 1AA",14"country": "GB"15}16}17}
1{2"request_id": "0fbc247e-22d3-48c2-a422-1b7b9b481288",3"error_type": "request_invalid",4"error_codes": [5"account_number_invalid_format"6]7}