Pesquisar

Are you looking for test card numbers?

Would you like to contact support?

Atenção, esta página não se encontra disponível em Português
Default icon

Instant card payouts

Learn how to make payouts to cards.

Adyen supports paying out to Mastercard and Visa cards instantly, immediately returning the result of the payout attempt.

With one /payout call, you can pay out to your customers for a variety of money transfer and funds disbursement use cases.

The funds will be made available within 30 minutes, but are typically available within 2 minutes. How long it takes depends on the issuer. And, the payout will immediately be reflected on the cardholder's debit card balance or open-to-buy credit limit.

Using instant card payouts often requires a local entity, and requires compliance approval and additional configuration on our end. To enable this functionality, contact your account manager or our Support Team.

There are two main use cases for instant card payouts:

  • Funds disbursements: You pay out to your sellers, customers, freelancers, etc. The purpose of this use case is typically crediting someone for delivering goods or services.
  • Money transfers: You facilitate the transfer of money between two individuals, virtual wallets or accounts. The purpose of this use case is typically moving funds.

These two use cases require different fields to be submitted in the payout request, as you can see in the examples.

Overview

Before you can make an instant card payout, you first have to check if the card is eligible. If you want to make a recurring payouts to the same card, or if you don't want to immediately payout the funds, you have to save the card details.

One-off payouts

  1. Configure your account to receive additional details in the API response.
  2. Make a zero-auth payment to check if the card is eligible for payouts.
  3. Make a payout. See money transfers or funds disbursements.

Recurring payouts

  1. Configure your account to receive additional details in the API response.
  2. Make a zero-auth payment to check if the card is eligible for payouts.
  3. Save the card details.
  4. Make a payout using the saved card details. See money transfers or funds disbursements.

Enable additional details in the API response

  1. In your Customer Area, go to Developers > API URLs.
  2. Under API URLs and response, select the Additional data settings tab.
  3. Toggle the fields that you want to include.
    • To get the card eligibility details, under Card, check the box for Card bin payout details.
    • To get the card BIN details, under Card, check the box Card bin details. Among other things, this will return the fundingSource and the cardBin.
    • To get the recurring details back in the response if you want to make more payments to the same card, under Payment, check the box for Recurring details.
  4. Select Save configuration.

Check if the card is eligible for payouts

  1. Submit a POST /payments request with the card details and the following parameters:

    • merchantAccount: Your merchant account.
    • paymentMethod: Object containing your customer's card details.
    • amount: Set the amount.value to zero, and the amount.currency to the currency that is applicable to the card.

    You can only pass raw card data if you are fully PCI compliant. Otherwise, use our Card Component to securely collect and encrypt card details.

    Submit a zero-value payment request
    curl https://checkout-test.adyen.com/v67/payments \
    -H "x-API-key: YOUR_X-API-KEY" \
    -H "content-type: application/json" \
    -d '{
       "amount":{
          "value":0,
          "currency":"USD"
       },
       "paymentMethod":{
          "type":"scheme",
          "number": "41111111111111111",
          "expiryMonth": "03",
          "expiryYear": "2030",
          "cvc": "737",
          "holderName": "John Smith"
       },
       "reference":"YOUR_ORDER_NUMBER",
       "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
       "shopperReference":"YOUR_UNIQUE_SHOPPER_ID",
    }'
    Example zero-value payment response
    {
     "additionalData":{
        "payoutEligible":"Y",
        "fundsAvailability":"I",
        "cardSchemeCommercial": "true",
        "cardPaymentMethod": "visa",
        "cardIssuingBank": "Bank of America",
        "cardIssuingCountry": "US",
        "cardIssuingCurrency": "USD",
        "cardBin": "411111",
        "fundingSource": "DEBIT"
     },
     "pspReference":"8825408195409500",
     "resultCode":"Authorised"
    }
  2. Check the payoutEligible parameter in the response. The value should be either:

    • Y: Eligible for payout. For Mastercard, this means that the card is eligible for both domestic and cross-border payouts.
    • D: Applies only to Mastercard. This means that the card is eligible only for domestic payouts.

    If you receive an N or U, the card cannot be used for payouts.

  3. Check the fundsAvailability parameter in the response.

    The field is only returned if payoutEligible is Y or D, and the value must be either:

    • I: Visa: fast funds are supported. Mastercard: product type is Prepaid or Debit, or issuing country is in CEE/HGEM list.
    • N: Visa and Mastercard: otherwise.

Save the card details

If you want to enable recurring payouts, you have to save the card details. You can do this by creating a recurring contract. To do this, make a /payments request.

The example below combines the zero-auth call with saving the card details. If you know you will be making recurring payouts to a card, you can combine the two requests.

Save the card details
curl https://checkout-test.adyen.com/v67/payments \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
      "amount": {
          "value": 0,
          "currency": "USD"
      },
      "paymentMethod": {
          "type": "scheme",
          "number":"4111111111111111",
          "expiryMonth":"03",
          "expiryYear":"2030",
          "cvc":"737",
          "holderName":"John Smith"
      },
      "billingAddress":{
         "houseNumberOrName":"1",
         "street":"Infinite Loop",
         "city":"Cupertino",
         "stateOrProvince":"CA",
         "country":"US",
         "postalCode":"95014"
      },
      "storePaymentMethod": true,
      "reference": "YOUR_ORDER_NUMBER",
      "shopperInteraction": "Ecommerce",
      "recurringProcessingModel": "CardOnFile",
      "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
      "shopperReference": "YOUR_UNIQUE_SHOPPER_ID",
      "enablePayOut": "True",
      "dateOfBirth":"1990-01-01",
      "nationality":"US",
      "entityType":"Individual"
    }'
Example response
 {
  "additionalData": {
    "recurringProcessingModel": "CardOnFile",
    "recurring.shopperReference": "YOUR_UNIQUE_SHOPPER_ID",
    "recurring.recurringDetailReference": "8315659584588245",
    "payoutEligible":"Y",
    "fundsAvailability":"I"
  },
  "pspReference": "7219687191761340",
  "resultCode": "Authorised",
  "amount": {
    "currency": "USD",
    "value": 0
  },
  "merchantReference": "Your order number"
 }

Funds disbursements

The examples below demonstrate how to send a one-off or recurring funds disbursement payout. Submit this request to the /payout endpoint.

Request

curl https://pal-test.adyen.com/pal/servlet/Payout/v67/payout \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
     "amount":{
        "value":2500,
        "currency":"USD"
     },
     "card":{
        "number":"4111111111111111",
        "expiryMonth":"03",
        "expiryYear":"2030",
        "holderName":"John Smith"
     },
     "billingAddress":{
        "houseNumberOrName":"1",
        "street":"Infinite Loop",
        "city":"Cupertino",
        "postalCode":"95014",
        "stateOrProvince":"CA",
        "country":"US"
     },
     "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
     "reference":"YOUR_REFERENCE_FOR_THE_PAYOUT",
     "{hint:The name of the shopper receiving the funds.}shopperName{/hint}":{
        "firstName":"John",
        "lastName":"Smith"
     },
     "dateOfBirth":"1990-01-01",
     "nationality":"US",
     "entityType":"Individual"
}'

Response

Example funds disbursements response
 {
    "pspReference":"8814689190961342",
    "resultCode":"Received",
    "additionalData":{
       "authCode":"83152"
    }
 } 

Request

curl https://pal-test.adyen.com/pal/servlet/Payout/v67/payout \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
      "amount":{
          "value":2500,
          "currency":"USD"
      },
      "selectedRecurringDetailReference": "LATEST",
          "recurring": {
              "contract": "PAYOUT"
      },
      "shopperReference": "YOUR_UNIQUE_SHOPPER_ID",
      "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
      "reference": "YOUR_REFERENCE_FOR_THE_RECURRING_PAYOUT",
      "shopperInteraction": "ContAuth"
    }'

Response

Example recurring funds disbursements response
 {
    "pspReference":"8814689190961342",
    "resultCode":"Received",
    "additionalData":{
       "authCode":"83152"
    }
 } 

Money transfers

The examples below demonstrate how to send a one-off or recurring payout to transfer money from one individual to another, and how to transfer money from a virtual wallet or account onto a card.

The difference between these scenarios is the funding source, and what you send in the fundSource object.

For individuals:

  • Funds are transferred from one card to another.
  • Provide the details of the sender in the fundSource object.
  • The additionalData.fundingSource is usually DEBIT.

For virtual wallets or accounts:

  • Funds are cashed out from the wallet or account onto a card.
  • Provide the details of the virtual wallet or account that the funds are moved out of in the fundSource object.
  • The additionalData.fundingSource is DEPOSIT_ACCOUNT. The source is a deposit account because the virtual wallet or account is provided by a separate company. The person who opened the virtual wallet or account owns the funds deposited in it. The funds can be transferred to their own card, or to a different person's card.

Submit the request to the /payout endpoint.

Request

curl https://pal-test.adyen.com/pal/servlet/Payout/v67/payout \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
  "amount":{
     "value":2500,
     "currency":"USD"
  },
  "{hint:The card details of the shopper receiving the funds.}card{/hint}":{
     "number":"4111111111111111",
     "expiryMonth":"03",
     "expiryYear":"2030",
     "holderName":"John Smith"
  },
  "fundSource":{
     "additionalData":{
        "fundingSource":"DEBIT"
     },
     "billingAddress":{
        "houseNumberOrName":"1",
        "street":"Infinite Loop",
        "country":"US",
        "postalCode":"95014",
        "city":"Cupertino",
        "{hint:Value cannot be null. Specify NA if the field is not applicable.}stateOrProvince{/hint}":"CA"
     },
     "{hint:The card details of the shopper sending the funds.}card{/hint}":{
        "expiryMonth":"03",
        "expiryYear":"2030",
        "holderName":"Simon Hopper",
        "number":"4400000000000008"
     },
     "{hint:The name of the shopper sending the funds.}shopperName{/hint}":{
        "firstName":"Simon",
        "lastName":"Hopper"
     }
  },
  "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
  "reference":"YOUR_REFERENCE_FOR_THE_PAYOUT",
  "{hint:The name of the shopper receiving the funds.}shopperName{/hint}":{
     "firstName":"John",
     "lastName":"Smith"
  },
  "shopperStatement":"SHOPPER_STATEMENT",
  "dateOfBirth":"1990-01-01",
  "nationality":"US",
  "entityType":"Individual"
}'

Response

Example money transfer response
 {
    "pspReference":"8814689190961342",
    "resultCode":"Received",
    "additionalData":{
       "authCode":"83152"
    }
 } 

Request

curl https://pal-test.adyen.com/pal/servlet/Payout/v67/payout \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
  "amount":{
     "value":2500,
     "currency":"USD"
  },
  "card":{
     "number":"4111111111111111",
     "expiryMonth":"03",
     "expiryYear":"2030",
     "{hint:The holder name on the card connected to the wallet or account.}holderName{/hint}":"John Smith"
  },
  "{hint:The details of the wallet or account.}fundSource{/hint}":{
     "additionalData":{
        "fundingSource":"DEPOSIT_ACCOUNT",
        "{hint:The identifier that uniquely identifies the wallet or account. Not required when the fundingSource is DEBIT.}walletIdentifier{/hint}" : "UNIQUE_FUNDING_SOURCE_IDENTIFIER"
     },
     "billingAddress":{
        "houseNumberOrName":"1",
        "street":"Infinite Loop",
        "country":"US",
        "postalCode":"95014",
        "city":"Cupertino",
        "{hint:Value cannot be null. Specify NA if the field is not applicable.}stateOrProvince{/hint}":"CA"
     },
     "{hint:The name of the shopper moving the funds out of the wallet or account.}shopperName{/hint}":{
        "firstName":"Simon",
        "lastName":"Hopper"
     },
  },
  "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
  "reference":"YOUR_REFERENCE_FOR_THE_PAYOUT",
  "{hint:The name of the shopper receiving the funds.}shopperName{/hint}":{
     "firstName":"Simon",
     "lastName":"Hopper"
  },
  "dateOfBirth":"1990-01-01",
  "nationality":"US",
  "entityType":"Individual"
}'

Response

Example money transfer wallet or account response

Request

curl https://pal-test.adyen.com/pal/servlet/Payout/v67/payout \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
  "amount":{
     "value":2500,
     "currency":"USD"
  },
  "selectedRecurringDetailReference": "LATEST",
    "recurring": {
        "contract": "PAYOUT"
    },
    "shopperReference": "YOUR_UNIQUE_SHOPPER_ID",
    "shopperName": {
        "lastName": "Smith",
        "firstName": "John"
    },
    "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
    "reference": "YOUR_REFERENCE_FOR_THE_RECURRING_PAYOUT",
    "shopperInteraction": "ContAuth",
    "fundSource": {
        "shopperName": {
            "lastName": "Hopper",
            "firstName": "Simon"
        },
        "billingAddress":{
            "houseNumberOrName":"1",
            "street":"Infinite Loop",
            "country":"US",
            "postalCode":"95014",
            "city":"Cupertino",
            "{hint:Value cannot be null. Specify NA if the field is not applicable.}stateOrProvince{/hint}":"CA"
        },
        "additionalData": {
            "fundingSource": "DEPOSIT_ACCOUNT",
            "walletIdentifier": "UNIQUE_FUNDING_SOURCE_IDENTIFIER"
        }
     }
  }'

Response

Example recurring money transfer response
 {
    "pspReference":"8814689190961342",
    "resultCode":"[payout-submit-received]"
 } 

Supported countries and currencies

Below is an overview of the supported countries and currencies for instant card payouts.

Note that: 

  • For cross-border payouts, contact your account manager or our Support Team.
  • In most cases, a local entity is required.
Recipient country Card payouts
United States -white_check_mark-
Austria -white_check_mark-
Belgium -white_check_mark-
Republic of Cyprus -white_check_mark-
Czech Republic -white_check_mark-
Denmark -white_check_mark-
Estonia -white_check_mark-
Finland -white_check_mark-
France -white_check_mark-
Germany -white_check_mark-
Greece -white_check_mark-
Ireland -white_check_mark-
Italy -white_check_mark-
Latvia -white_check_mark-
Liechtenstein -white_check_mark-
Lithuania -white_check_mark-
Luxembourg -white_check_mark-
Malta -white_check_mark-
Netherlands -white_check_mark-
Norway -white_check_mark-
Poland -white_check_mark-
Portugal -white_check_mark-
Slovakia -white_check_mark-
Slovenia -white_check_mark-
Spain -white_check_mark-
Sweden -white_check_mark-
Switzerland -white_check_mark-
United Kingdom -white_check_mark-

To be added in the near future: Brazil, Canada and Australia.

Supported currencies

USD, AUD, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, JPY, MXN, NOK, NZD, PLN, RUB, SEK, SGD, THB, TRY, ZAR.