Guides
API Reference

Our reference library for integrating with our API

FAQ

Find answers to our most frequently asked questions

Classic Docs

Documentation for our Classic API

Card Payouts

Send money to a card in minutes. Using Visa Direct and Mastercard Moneysend, you can transfer funds directly to cards across over 180 countries.

This feature is available for merchants incorporated in the United Kingdom, Gibraltar, the European Economic Area (EEA), and Singapore.

Before you start

Step 1: Make a payout request

You can send a payout using either:

Transaction types

There are three main types of Card Payout transaction:

Transaction typeDescriptionSender data required?
Direct funds disbursementYou send money directly to a cardholder.No
Third-party funds disbursementYou send money to a cardholder on behalf of a business or other entity.Yes
Money transferYou send money to a cardholder on behalf of an individual.Yes

Sender data

You must include the details of the sender in your payout request when you're sending money on behalf of someone else (third-party funds disbursements and money transfers). For details of the sender data required, see our sender data guide.

Payout request using a token 

Create a payout request with a token (the tokenized details of a payment card) as the destination.

Tokens are single use and only have a 15-minute lifespan.

Endpoints

https://api.checkout.com/payments
https://api.sandbox.checkout.com/payments

Header parameters

HeaderValue

Authorization

REQUIRED

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type

REQUIRED

application/json

Body parameters

The table below describes the minimum recommended fields for making a payout. See our API reference for the full specification.

Field nameDescription

destination

REQUIRED

OBJECT

Details about the payout destination.

destination.type

REQUIRED

STRING

The type of payout destination. Set this to token.

destination.token

REQUIRED

STRING

The payment token (prefixed by tok_).

destination.first_name

REQUIRED

STRING

The payment destination owner's first name.

destination.last_name

REQUIRED

STRING

The payment destination owner's last name.

amount

REQUIRED

INTEGER

The payout amount in your chosen currency.

This amount needs to be higher than 0.

currency

REQUIRED

STRING

A three-letter ISO currency code representing the currency of the payout.

fund_transfer_type

CONDITIONAL

STRING

Two-letter code describing the nature of the payment.

Required if you are sending different types of payments.

reference

OPTIONAL

STRING

An optional reference, like an order number, that you can use to identify the payout later.

processing

OPTIONAL

OBJECT

Contains data sent during card processing.

processing.senderInformation

CONDITIONAL

OBJECT

Contains the details of the sender of the transaction. Required if you are sending transactions on behalf of another person, business entity, or government organization (money transfers and third-party funds disbursements).

The information you need to provide depends on the card scheme and type of transaction. See our sender data guide for details.

processing.purpose

CONDITIONAL

ENUM

Contains the purpose of the transaction. Required when the destination country is Argentina, Bangladesh, Egypt or India. Mandatory from 15th October 2021.

See the full list of possible values.

Request examples

{
  "destination": {
    "type": "token",
    "token": "tok_ihvkileifkzebkgnhkskbglyte",
    "first_name" : "John",
    "last_name" : "Smith"
  },
  "amount": 1000,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89"
}
{
  "destination": {
    "type": "token",
    "token": "tok_ihvkileifkzebkgnhkskbglyte",
    "first_name" : "John",
    "last_name" : "Smith"
  },
  "amount": 1000,
  "currency": "GBP",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "Haley",
      "lastName": "Jones",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "Debit"
    }
  }  
}
{
  "destination": {
    "type": "token",
    "token": "tok_ihvkileifkzebkgnhkskbglyte",
    "first_name" : "John",
    "last_name" : "Smith"
  },
  "amount": 1000,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "ABC",
      "lastName": "International",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "DepositAccount"
    }
  }  
}

Payout request using a payment instrument 

Create a payout request with a payment instrument as the destination.

A payment instrument is a stored payment card, kept securely in our Vault. Each payment instrument has a unique ID (for example, src_nwd3m4in3hkuddfpjsaevunhdy), which you can use as the destination for a card payout. Learn more about stored payment details.

Endpoints

https://api.checkout.com/payments
https://api.sandbox.checkout.com/payments

Header parameters

HeaderValue

Authorization

REQUIRED

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type

REQUIRED

application/json

Body parameters

Field nameDescription

destination

REQUIRED

OBJECT

Details about the payout destination.

destination.type

REQUIRED

STRING

The type of payout destination. Set this to id.

destination.id

REQUIRED

STRING

The payment instrument ID.

This must be a card payment instrument identifier.

destination.first_name

REQUIRED

STRING

The payment destination owner's first name.

destination.last_name

REQUIRED

STRING

The payment destination owner's last name.

amount

REQUIRED

INTEGER

The payout amount in your chosen currency.

This amount needs to be higher than 0.

currency

REQUIRED

STRING

A three-letter ISO currency code representing the currency of the payout.

fund_transfer_type

CONDITIONAL

STRING

Two-letter code describing the nature of the payment.

Required if you are sending different types of payments.

reference

OPTIONAL

STRING

An optional reference, like an order number, you can use to identify the payout later.

processing

OPTIONAL

OBJECT

Contains data sent during card processing.

processing.senderInformation

CONDITIONAL

OBJECT

Contains the details of the sender of the transaction. Required if you are sending transactions on behalf of another person, business entity, or government organization (money transfers and third-party funds disbursements).

The information you need to provide depends on the card scheme and type of transaction. See our sender data guide for details.

processing.purpose

CONDITIONAL

ENUM

Contains the purpose of the transaction. Required when the destination country is Argentina, Bangladesh, Egypt or India. Mandatory from 15th October 2021.

See the full list of possible values.

Request examples

{
  "destination": {
    "type": "id",
    "id": "src_nxc36gtdwjtuxfeg2vsy722m4e",
    "first_name": "John",
    "last_name": "Smith"
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89"
}
{
  "destination": {
    "type": "id",
    "id": "src_nxc36gtdwjtuxfeg2vsy722m4e",
    "first_name": "John",
    "last_name": "Smith"
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "Haley",
      "lastName": "Jones",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "Debit"
    }
  }
}
{
  "destination": {
    "type": "id",
    "id": "src_nxc36gtdwjtuxfeg2vsy722m4e",
    "first_name": "John",
    "last_name": "Smith"
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "ABC",
      "lastName": "International",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "DepositAccount"
    }
  }
}

Payout request using full card details 

Create a payout request using the full details of the payment card as the destination.

In order to make a card payout using full card details, you need to be PCI compliant (SAQ-D).

Payouts using full card details are not available by default. To enable this feature, please contact your Customer Success Manager.

Endpoints

https://api.checkout.com/payments
https://api.sandbox.checkout.com/payments

Header parameters

HeaderValue

Authorization

REQUIRED

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type

REQUIRED

application/json

Body parameters

Field nameDescription

destination

REQUIRED

OBJECT

Details about the payout destination.

destination.type

REQUIRED

STRING

The type of payout destination. Set this to card.

destination.number

REQUIRED

STRING

The card number


destination.expiry_month

REQUIRED

INTEGER

The two-digit expiry month of the card.

destination.expiry_year

REQUIRED

INTEGER

The four-digit expiry month of the card.

destination.first_name

REQUIRED

STRING

The payment destination owner's first name.

destination.last_name

REQUIRED

STRING

The payment destination owner's last name.

amount

REQUIRED

INTEGER

The payout amount in your chosen currency.

This amount needs to be higher than 0.

currency

REQUIRED

STRING

A three-letter ISO currency code representing the currency of the payout.

fund_transfer_type

CONDITIONAL

STRING

Two-letter code describing the nature of the payment.

Required if you are sending different types of payments.

reference

OPTIONAL

STRING

An optional reference, like an order number, you can use to identify the payout later.

processing

OPTIONAL

OBJECT

Contains data sent during card processing.

processing.senderInformation

CONDITIONAL

OBJECT

Contains the details of the sender of the transaction. Required if you are sending transactions on behalf of another person, business entity, or government organization (money transfers and third-party funds disbursements).

The information you need to provide depends on the card scheme and type of transaction. See our sender data guide for details.

processing.purpose

CONDITIONAL

ENUM

Contains the purpose of the transaction. Required when the destination country is Argentina, Bangladesh, Egypt or India. Mandatory from 15th October 2021.

See the full list of possible values.

Request examples

{
  "destination": {
    "type": "card",
    "number": "4242424242424242",
    "expiry_month": 12,
    "expiry_year": 2025,
    "first_name": "John",
    "last_name": "Smith",
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89"
}
{
  "destination": {
    "type": "card",
    "number": "4242424242424242",
    "expiry_month": 12,
    "expiry_year": 2025,
    "first_name": "John",
    "last_name": "Smith",
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "Haley",
      "lastName": "Jones",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "Debit"
    }
  }
}
{
  "destination": {
    "type": "card",
    "number": "4242424242424242",
    "expiry_month": 12,
    "expiry_year": 2025,
    "first_name": "John",
    "last_name": "Smith",
  },
  "amount": 100,
  "currency": "GBP",
  "fund_transfer_type": "FD",
  "reference": "ORD-5023-4E89",
  "processing": {
    "senderInformation": {
      "reference": "87654321",
      "accountNumber": "12345678",
      "firstName": "ABC",
      "lastName": "International",
      "address": "1 High Street",
      "city": "London",
      "country": "GB",
      "sourceOfFunds": "DepositAccount"
    }
  }
}

Step 2: Handle the response

If your payout request was successful, you'll receive a 202 Payment asynchronous or further action required response, and the status will be Pending while the transaction goes through compliance checks. A webhook and response code will tell you the final outcome of the payout.

If there was a problem with your request, you'll receive a 422 Invalid data sent response. You can receive this error for several reasons; the data you provided may be invalid, or your request might not comply with the specific configuration of your account. To discuss the configuration of your account, contact your Customer Success Manager.

Card payouts cannot be canceled.

{
  "id": "pay_wugo7nun52aetgpgnyzyzvghnu",
  "status": "Pending",
  "reference": "ORD-5023-4E89",
  "customer": {
    "id": "cus_37h52rohzyyerg74s7hd6yxsue"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_wugo7nun52aetgpgnyzyzvghnu"
    }
  }
}
{
  "request_id": "071f5a37-ed7b-423b-98b7-8bff7cb5fce0",
  "error_type": "processing_error",
  "error_codes": [
    "processing_error"
  ]
}

Step 3: Check the outcome 

If the payout was successful, you'll receive a payment_paid webhook. If it's unsuccessful, you'll get a payment_declined webhook. The included response code will provide more details.

You can see a record of all your payouts in your statements and in the payouts report in the Hub.

The issuing bank has full discretion over how they respond to a card payout request. If you have a question about the response code you've received, please contact the issuing bank or your Customer Success Manager.

Webhook examples

{
  "id": "evt_hbnxegj3dqyu5fsd4p2b4bxvpa",
  "type": "payment_paid",
  "created_on": "2019-12-11T08:59:39Z",
  "data": {
    "action_id": "act_fgmhgzodurievpxbdzgl3ftxce",
    "auth_code": "924041",
    "response_code": "10000",
    "response_summary": "Approved",
    "amount": 115,
    "metadata": {},
    "destination": {
      "id": "src_cdfv47bowvmezfdhjt7ibqrdxy",
      "type": "card",
      "expiry_month": 12,
      "expiry_year": 2020,
      "name": "John Smith",
      "scheme": "Visa",
      "last_4": "4242",
      "fingerprint": "436d1eb12c4b92b9eeb1e798dea93a718c78f5362c7fb5d84b51c72a869b6101",
      "bin": "424242",
      "card_type": "Credit",
      "card_category": "Consumer",
      "issuer": "JPMORGAN CHASE BANK NA",
      "issuer_country": "US",
      "product_id": "A",
      "product_type": "Visa Traditional",
      "avs_check": "S",
      "cvv_check": "Y"
    },
    "customer": {
      "id": "cus_bv2khjtcah5uzimoi2qvniwnsm"
    },
    "id": "pay_fk234x52k6i4rmjmqnzx474fqi",
    "currency": "DKK",
    "processed_on": "2019-12-11T08:59:40Z",
    "reference": "example payout"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/events/evt_hbnxegj3dqyu5fsd4p2b4bxvpa"
    },
    "payment": {
      "href": "https://api.sandbox.checkout.com/payments/pay_fk234x52k6i4rmjmqnzx474fqi"
    }
  }
}
{
  "id": "evt_pktvel6mu4pe7ccp2fj2eptd5e",
  "type": "payment_declined",
  "created_on": "2019-12-11T09:00:10Z",
  "data": {
    "action_id": "act_kqknlhpwscaetbzyk2b773jiti",
    "auth_code": "223252",
    "response_code": "20005",
    "response_summary": "Declined - Do Not Honour",
    "amount": 20005,
    "metadata": {},
    "destination": {
      "type": "card",
      "expiry_month": 12,
      "expiry_year": 2020,
      "name": "John Smith",
      "scheme": "Visa",
      "last_4": "4242",
      "fingerprint": "436d1eb12c4b92b9eeb1e798dea93a718c78f5362c7fb5d84b51c72a869b6101",
      "bin": "424242",
      "card_type": "Credit",
      "card_category": "Consumer",
      "issuer": "JPMORGAN CHASE BANK NA",
      "issuer_country": "US",
      "product_id": "A",
      "product_type": "Visa Traditional",
      "avs_check": "S",
      "cvv_check": "Y"
    },
    "customer": {
      "id": "cus_4dmcskkwjhwuxjel2cmi6ce5za"
    },
    "id": "pay_3tg7yzq34lmmpdn2exmgjm4fvm",
    "currency": "DKK",
    "processed_on": "2019-12-11T09:00:10Z",
    "reference": "example payout"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/events/evt_pktvel6mu4pe7ccp2fj2eptd5e"
    },
    "payment": {
      "href": "https://api.sandbox.checkout.com/payments/pay_3tg7yzq34lmmpdn2exmgjm4fvm"
    }
  }
}

Response codes

Below is a list of common response codes used for Card Payouts. See our response code page for the full list of response we support.

 Common payout-related response codes

Code Type

Response Code

 Description

Retry

Action

Approved

10000

Approved

No

Success

Declined

20001

Refer to card issuer

No

Contact the issuing bank for more details.

Declined

20002

Refer to card issuer, special condition

No

Contact the issuing bank for more details.

Declined

20003

Invalid merchant

No

Contact the issuing bank for more details.

Declined

20005

Declined - Do Not Honor

Yes

Try submitting the transaction again or contact the issuing bank for more details.

Declined

20006

Error/Invalid request parameter

No

Check and correct error as needed.

Declined

20012

Invalid transaction

No

Check and correct error as needed.

Declined

20013

Invalid Value/Amount

No

Check and correct error as needed.

Declined

20014

Invalid Card Number

No

Check and correct error as needed.

Declined

20019

Re-enter transaction or transaction has expired

Yes

Try submitting the transaction again.

Declined

20021

No action taken

No

Contact the issuing bank for more details.

Declined

20039

No credit account

No

Contact the issuing bank for more details.

Declined

20051

Not sufficient funds

No

Contact the issuing bank for more details.

Declined

20052

No checking account

No

Contact the issuing bank for more details.

Declined

20053

No savings account

No

Contact the issuing bank for more details.

Declined

20054

Expired Card

No

Contact the issuing bank for more details.

Declined

20057

Transaction not Permitted to Cardholder

No

Contact the issuing bank for more details.

Declined

20059

Suspected fraud

No

Contact the issuing bank for more details.

Declined

20061

Exceeds Withdrawal Value/Amount Limits

No

Contact the issuing bank for more details.

Declined

20062

Restricted Card

No

Contact the issuing bank for more details.

Declined

20063

Security Violation

No

Check and correct error as needed. Contact the issuing bank for more details.

Declined

20064

Transaction does not fulfil AML requirements

No

Contact the issuing bank for more details.

Declined

20065

Exceeds Withdrawal Frequency Limit

Yes

Contact the issuing bank for more details.

Declined

20089

Administration error

No

Contact the issuing bank for more details.

Declined

20091

Issuer or Switch is Inoperative

Yes

Contact the issuing bank for more details.

Declined

20092

Financial institution not found

No

Contact the issuing bank for more details.

Declined

20093

Transaction Cannot be Completed (violation of law)

No

Contact the issuing bank for more details.

Declined

20094

Duplicate Transmission/Invoice

No

Contact the issuing bank for more details.

Declined

20096

System Malfunction

Yes

Contact the issuing bank for more details.

Declined

200N7

Decline for CVV2 Failure

No

Contact the issuing bank for more details.

Declined

20154

3DS authentication required

No

Contact the issuing bank for more details.

Declined

30004

Pick up card(No Fraud)

No

Contact the issuing bank for more details.

Declined

30007

Pick up card, special conditions

No

Contact the issuing bank for more details.

Declined

30015

No Such Issuer

No

Contact the issuing bank for more details.

Declined

30020

Invalid Amount

No

Declined. Contact your Customer Success Manager for more details.

Declined

30041

Lost Card - Pick Up

No

Contact the issuing bank for more details.

Declined

30043

Stolen Card - Pick Up

No

Contact the issuing bank for more details.

Declined

50002

Sanctions Failed

No

Declined. Contact your Customer Success Manager for more details.


Payout purpose values

donationseducationemergency_needexpatriationfamily_supportfinancial_servicesgiftsincomeinsuranceinvestmentit_servicesleisureloan_paymentmedical_treatmentotherpensionroyaltiessavingstravel_and_tourism