Pay out to a card

With this feature, you can send money to your customers within minutes instead of days. Using Visa Direct and Mastercard Moneysend, you can handle disbursements onto cards directly.

📘

Payouts to card are only available for merchants based in the EEA region and can be enabled for Mastercard and Visa. If you'd like to start using this feature, please contact your customer success manager to assess your eligibility.

Overview

Payment request

You can send a payout using:

You'll be able to view your consolidated card payouts on your statements and in the payouts report on the Hub.

Sender data

If you are sending a transaction on behalf of another person or business, you must also include information about the sender of the transaction in your payment request (sender data). The detailed sender data requirements for Visa and Mastercard are listed here.

Card verification

Not all issuers accept Pay to Card transactions. We recommend performing a card verification before sending a payout to a card for the first time, in order to verify a cardholder's payment information.

Whether funds will be available to the cardholder within minutes or in 1-2 days is dependant on whether their issuing bank accepts Fast Funds. While this is widespread in the EEA region, this cannot always be guaranteed.

Card verification response

In the card verification response, we indicate two items:

  • whether the card is eligible for payouts ("source.payouts": true)
  • whether the card is eligible for Fast Funds (source.fast_funds).

Fast Funds means the funds will be deposited in the recipient’s account within 30 minutes. If a card is not eligible for Fast Funds, the funds will be deposited within 48 hours.

The possible values for source.fast_funds are the following:

  • d: domestic
  • c: cross-border
  • dc: domestic and cross-border
  • u: unsupported

📘

In order to see payouts eligibility and fast funds eligibility in a response, please use this test card only: 4242424242424242.

European Economic Area (EEA)
Rest of the world
Geographic scope
Money transfer
Funds disbursement / non-money transfer
Domestic
Sender country (as provided by the merchant originator/acquirer) and recipient account range within the same EEA country, AND acquirer and issuers within the EEA. For example, a person-to-person money transfer between two persons in the United Kingdom.
Merchant country and recipient account range within the same EEA country, AND acquirer and issuers within the EEA. For example, funds disbursement between a merchant and a person in the United Kingdom.
Merchant, acquirer, and recipient issuer are in the same country.
Cross-border
Anything that does not meet the above definition would be considered cross-border. For example, a person-to-person money transfer between a sender in the United Kingdom and a recipient in France.
Anything that does not meet the above definition would be considered cross-border. For example, funds disbursement from a merchant in the United Kingdom to a recipient in Malta.
Recipient issuer is in a different country than the merchant/acquirer.

Using a token

📘

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

Use the details below to set up your request.

Endpoints

Live

https://api.checkout.com/payments

Sandbox

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

Header parameters

Header

Value

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 when making a payout using a payment source.

Field name

Description

destination Object required

Details about the payout destination.

destination.type\ String\ required

The type of payout destination. Set this to token.

destination.token\ String\ required

The payment token (prefixed by tok_).

destination.first_name\ String\ required

The payment destination owner's first name.

destination.last_name\ String\ required

The payment destination owner's last name.

amount\ integer \ required

The payout amount in your chosen currency.\ This amount needs to be higher than 0.

currency\ String\ required

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

fund_transfer_type\ Object\ Optional

Two-letter code describing the nature of the payment.\ For more information, see Fund transfer type.

reference\ String\ optional

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

Request example

{
  "destination": {
    "type": "token",
    "token": "tok_ihvkileifkzebkgnhkskbglyte",
    "first_name" : "John",
    "last_name" : "Smith"
  },
  "amount": 1000,
  "currency": "USD",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89"
}

📘

Please note:
If you are sending funds on behalf of another person or business, you may need to include sender data with your payment request. Please check this page to understand if this is required.

The response

Use the payment_paid and payment_declined webhooks to find out the final result of the payout.

{
  "id": "pay_wugo7nun52aetgpgnyzyzvghnu",
  "status": "Pending",
  "reference": "ORD-5023-4E89",
  "customer": {
    "id": "cus_37h52rohzyyerg74s7hd6yxsue"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_wugo7nun52aetgpgnyzyzvghnu"
    }
  }
}

Using source ID

After your customer makes an initial order, we securely store the card information and return to you a source identifier (id). This unique ID replaces the card number in all future payments, removing the need to exchange sensitive payment information.

Use the details below to set up your request.

Endpoints

Live

https://api.checkout.com/payments

Sandbox

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

Header parameters

Header

Value

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 when making a payout using a payment source.

Field name

Description

destination Object required

Details about the payout destination.

destination.type\ String\ required

The type of payout destination. Set this to id.

destination.id\ String\ required

The payment source identifier.\ This has to be a card source identifier.

destination.first_name\ String\ required

The payment destination owner's first name.

destination.last_name\ String\ required

The payment destination owner's last name.

amount\ integer \ required

The payout amount in your chosen currency.\ This amount needs to be higher than 0.

currency\ String\ required

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

fund_transfer_type\ Object\ Optional

Two-letter code describing the nature of the payment.\ For more information, see Fund transfer type.

reference\ String\ optional

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

Request example

{
  "destination": {
    "type": "id",
    "id": "src_nxc36gtdwjtuxfeg2vsy722m4e",
    "first_name": "John",
    "last_name": "Smith"
  },
  "amount": 100,
  "currency": "USD",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89"
}

📘

Please note:
If you are sending funds on behalf of another person or business, you may need to include sender data with your payment request. Please check this page to understand if this is required.

The response

Use the payment_paid and payment_declined webhooks to find out the final result of the payout.

{
  "id": "pay_wugo7nun52aetgpgnyzyzvghnu",
  "status": "Pending",
  "reference": "ORD-5023-4E89",
  "customer": {
    "id": "cus_37h52rohzyyerg74s7hd6yxsue"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_wugo7nun52aetgpgnyzyzvghnu"
    }
  }
}

Using full card details

🚧

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

📘

Payouts using full card details are not made available by default. To use these endpoints, please contact your customer success manager.

Use the details below to set up your request.

Endpoints

Live

https://api.checkout.com/payments

Sandbox

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

Header parameters

Header

Value

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 when making a payout using a payment source.

Field name

Description

destination Object required

Details about the payout destination.

destination.type\ String\ required

The type of payout destination. Set this to card.

destination.card\ String\ required

The card number.

destination.expiry_month\ String\ required

The two-digit expiry month of the card.

destination.expiry_year\ String\ required

The four-digit expiry month of the card.

destination.first_name\ String\ required

The payment destination owner's first name.

destination.last_name\ String\ required

The payment destination owner's last name.

amount\ integer \ required

The payout amount in your chosen currency.\ This amount needs to be higher than 0.

currency\ String\ required

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

fund_transfer_type\ Object\ Optional

Two-letter code describing the nature of the payment.\ For more information, see Fund transfer type.

reference\ String\ optional

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

Request example

{
  "destination": {
    "type": "card",
    "number": "4242424242424242",
    "expiry_month": 12,
    "expiry_year": 2025,
    "first_name": "John",
    "last_name": "Smith",
  },
  "amount": 100,
  "currency": "USD",
  "fund_transfer_type": "AA",
  "reference": "ORD-5023-4E89"
}

📘

Please note:
If you are sending funds on behalf of another person or business, you may need to include sender data with your payment request. Please check this page to understand if this is required.

The response

Use the payment_paid and payment_declined webhooks to find out the final result of the payout.

{
  "id": "pay_wugo7nun52aetgpgnyzyzvghnu",
  "status": "Pending",
  "reference": "ORD-5023-4E89",
  "customer": {
    "id": "cus_37h52rohzyyerg74s7hd6yxsue"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_wugo7nun52aetgpgnyzyzvghnu"
    }
  }
}

Can we help?

Thanks for using Checkout.com. If you need any help or support, then message our support team at [email protected].