Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/adyen-payout-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '68'
x-publicVersion: true
title: Adyen Payout API
description: "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).\n## Authentication\nTo use the Payout API, you need to have [two API credentials](https://docs.adyen.com/online-payments/online-payouts#payouts-to-bank-accounts-and-wallets): one for storing payout details and submitting payouts, and another one for confirming or declining payouts. If you don't have the required API credentials, contact our [Support Team](https://www.adyen.help/hc/en-us/requests/new).\n\nIf using an API key, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using [basic authentication](https://docs.adyen.com/development-resources/api-credentials#basic-authentication).\n\nThe following example shows how to authenticate your request with basic authentication when submitting a payout:\n\n```\ncurl\n-U \"storePayout@Company.YOUR_COMPANY_ACCOUNT\":\"YOUR_BASIC_AUTHENTICATION_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\n\n## Versioning\nPayments API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payout/v68/payout\n```\n\n## Going live\n\nTo authenticate to the live endpoints, you need [API credentials](https://docs.adyen.com/development-resources/api-credentials) from your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is unique to your company account:\n```\n\nhttps://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Payout/v68/payout\n```\n\nGet your `{PREFIX}` from your live Customer Area under **Developers** > **API URLs** > **Prefix**."
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
servers:
- url: https://pal-test.adyen.com/pal/servlet/Payout/v68
tags:
- name: Payout
paths:
/payout:
post:
tags:
- Payout
summary: Adyen Make an Instant Card Payout
description: With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.
x-addedInVersion: '11'
operationId: post-payout
x-sortIndex: 1
x-methodName: payout
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
payout-b2c:
$ref: '#/components/examples/post-payout-payout-b2c'
payout-p2p:
$ref: '#/components/examples/post-payout-payout-p2p'
schema:
$ref: '#/components/schemas/PayoutRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutResponse'
examples:
post-payout200Example:
summary: Default post-payout 200 response
x-microcks-default: true
value:
additionalData: {}
authCode: CODE123
dccAmount: 1000
dccSignature: example_value
fraudResult: example_value
issuerUrl: https://example.com/resource
md: example_value
paRequest: example_value
pspReference: REF-001
refusalReason: REF-001
resultCode: AuthenticationFinished
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-payout401Example:
summary: Default post-payout 401 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-payout403Example:
summary: Default post-payout 403 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-payout422Example:
summary: Default post-payout 422 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-payout500Example:
summary: Default post-payout 500 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
examples:
post-payout-payout-p2p:
summary: Instant card payout (P2P)
description: Facilitate the transfer of money between two individuals
value:
amount:
value: 2500
currency: USD
card:
number: '4111111111111111'
expiryMonth: '03'
expiryYear: '2030'
holderName: John Smith
billingAddress:
houseNumberOrName: '121'
street: Brannan Street
city: Beverly Hills
postalCode: '90210'
stateOrProvince: CA
country: US
fundSource:
additionalData:
fundingSource: DEBIT
billingAddress:
houseNumberOrName: '121'
street: Brannan Street
city: Beverly Hills
postalCode: '90210'
stateOrProvince: CA
country: US
card:
expiryMonth: '03'
expiryYear: '2030'
holderName: Payer Name
number: '4400000000000008'
shopperName:
firstName: Payer
lastName: Name
merchantAccount: YOUR_MERCHANT_ACCOUNT
reference: P9999999999999999
shopperName:
firstName: John
lastName: Smith
shopperStatement: Payer Name
dateOfBirth: '1990-01-01'
nationality: NL
post-payout-payout-b2c:
summary: Instant card payout (B2C)
description: Pay out to your sellers, customers, freelancers, etc
value:
amount:
value: 2500
currency: USD
card:
number: '4111111111111111'
expiryMonth: '03'
expiryYear: '2030'
holderName: John Smith
billingAddress:
houseNumberOrName: '121'
street: Brannan Street
city: Beverly Hills
postalCode: '90210'
stateOrProvince: CA
country: US
merchantAccount: YOUR_MERCHANT_ACCOUNT
reference: P9999999999999999
shopperName:
firstName: John
lastName: Smith
dateOfBirth: '1990-01-01'
nationality: NL
generic-400:
summary: Response code 400. Bad Request.
value:
status: 400
errorCode: '702'
message: 'Unexpected input: I'
errorType: validation
schemas:
ResponseAdditionalDataSepa:
properties:
sepadirectdebit.dateOfSignature:
description: 'The transaction signature date.
Format: yyyy-MM-dd'
type: string
sepadirectdebit.mandateId:
description: Its value corresponds to the pspReference value of the transaction.
type: string
sepadirectdebit.sequenceType:
description: 'This field can take one of the following values:
* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.
* First: (FRST) Initial/first collection in a series of direct debit instructions.
* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.
* Final: (FNAL) Last/final collection in a series of direct debit instructions.
Example: OOFF'
type: string
type: object
PayoutRequest:
properties:
amount:
description: The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).
$ref: '#/components/schemas/Amount'
billingAddress:
x-addedInVersion: '4'
description: 'The address where to send the invoice.
> The `billingAddress` object is required in the following scenarios. Include all of the fields within this object.
>* For 3D Secure 2 transactions in all browser-based and mobile implementations.
>* For cross-border payouts to and from Canada.'
$ref: '#/components/schemas/Address'
card:
description: 'A container for card data.
> Either `bankAccount` or `card` field must be provided in a payment request.'
$ref: '#/components/schemas/Card'
fraudOffset:
description: An integer value that is added to the normal fraud score. The value can be either positive or negative.
format: int32
type: integer
fundSource:
x-addedInVersion: '64'
description: The person or entity funding the money.
$ref: '#/components/schemas/FundSource'
merchantAccount:
description: The merchant account identifier, with which you want to process the transaction.
type: string
recurring:
description: The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).
$ref: '#/components/schemas/Recurring'
reference:
description: 'The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.
If you need to provide multiple references for a transaction, separate them with hyphens ("-").
Maximum length: 80 characters.'
type: string
selectedRecurringDetailReference:
description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
type: string
shopperEmail:
description: 'The shopper''s email address. We recommend that you provide this data, as it is used in velocity fraud checks.
> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.'
type: string
shopperInteraction:
description: 'Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.
For the web service API, Adyen assumes Ecommerce shopper interaction by default.
This field has the following possible values:
* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.
* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).
* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.
* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.'
enum:
- Ecommerce
- ContAuth
- Moto
- POS
type: string
shopperName:
x-addedInVersion: '7'
description: The shopper's full name.
$ref: '#/components/schemas/Name'
shopperReference:
description: "Required for recurring payments. \nYour reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.\n> Your reference must not include personally identifiable information (PII), for example name or email address."
type: string
telephoneNumber:
x-addedInVersion: '7'
description: The shopper's telephone number.
type: string
required:
- merchantAccount
- reference
- amount
type: object
ResponseAdditionalDataNetworkTokens:
properties:
networkToken.available:
description: Indicates whether a network token is available for the specified card.
type: string
networkToken.bin:
description: The Bank Identification Number of a tokenized card, which is the first six digits of a card number.
type: string
networkToken.tokenSummary:
description: The last four digits of a network token.
type: string
type: object
FundSource:
properties:
additionalData:
additionalProperties:
type: string
description: A map of name-value pairs for passing additional or industry-specific data.
type: object
billingAddress:
description: The address where to send the invoice.
$ref: '#/components/schemas/Address'
card:
description: 'Credit card data.
Optional if `shopperReference` and `selectedRecurringDetailReference` are provided.'
$ref: '#/components/schemas/Card'
shopperEmail:
description: Email address of the person.
type: string
shopperName:
description: Name of the person.
$ref: '#/components/schemas/Name'
telephoneNumber:
description: Phone number of the person
type: string
type: object
ResponseAdditionalDataBillingAddress:
properties:
billingAddress.city:
description: The billing address city passed in the payment request.
type: string
billingAddress.country:
description: 'The billing address country passed in the payment request.
Example: NL'
type: string
billingAddress.houseNumberOrName:
description: The billing address house number or name passed in the payment request.
type: string
billingAddress.postalCode:
description: 'The billing address postal code passed in the payment request.
Example: 1011 DJ'
type: string
billingAddress.stateOrProvince:
description: 'The billing address state or province passed in the payment request.
Example: NH'
type: string
billingAddress.street:
description: The billing address street passed in the payment request.
type: string
type: object
Name:
properties:
firstName:
description: The first name.
type: string
lastName:
description: The last name.
type: string
required:
- firstName
- lastName
type: object
Amount:
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
maxLength: 3
minLength: 3
type: string
value:
description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
- currency
type: object
ResponseAdditionalDataCommon:
properties:
acquirerAccountCode:
description: 'The name of the Adyen acquirer account.
Example: PayPalSandbox_TestAcquirer
> Only relevant for PayPal transactions.'
type: string
acquirerCode:
description: 'The name of the acquirer processing the payment request.
Example: TestPmmAcquirer'
type: string
acquirerReference:
description: 'The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.
Example: 7C9N3FNBKT9'
type: string
alias:
description: 'The Adyen alias of the card.
Example: H167852639363479'
type: string
aliasType:
description: 'The type of the card alias.
Example: Default'
type: string
authCode:
description: 'Authorisation code:
* When the payment is authorised successfully, this field holds the authorisation code for the payment.
* When the payment is not authorised, this field is empty.
Example: 58747'
type: string
authorisationMid:
description: Merchant ID known by the acquirer.
type: string
authorisedAmountCurrency:
description: The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
type: string
authorisedAmountValue:
description: 'Value of the amount authorised.
This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).'
type: string
avsResult:
description: 'The AVS result code of the payment, which provides information about the outcome of the AVS check.
For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).'
type: string
avsResultRaw:
description: 'Raw AVS result received from the acquirer, where available.
Example: D'
type: string
bic:
description: 'BIC of a bank account.
Example: TESTNL01
> Only relevant for SEPA Direct Debit transactions.'
type: string
coBrandedWith:
description: Includes the co-branded card information.
type: string
cvcResult:
description: The result of CVC verification.
example: 1 Matches
type: string
cvcResultRaw:
description: The raw result of CVC verification.
example: M
type: string
dsTransID:
description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.
type: string
eci:
description: 'The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.
Example: 02'
type: string
expiryDate:
description: 'The expiry date on the card.
Example: 6/2016
> Returned only in case of a card payment.'
type: string
extraCostsCurrency:
description: 'The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.
Example: EUR'
type: string
extraCostsValue:
description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.
type: string
fraudCheck-[itemNr]-[FraudCheckname]:
description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.
type: string
fraudManualReview:
description: Indicates if the payment is sent to manual review.
type: string
fraudResultType:
description: The fraud result properties of the payment.
enum:
- GREEN
- FRAUD
type: string
fundingSource:
description: 'Information regarding the funding type of the card. The possible return values are:
* CHARGE
* CREDIT
* DEBIT
* PREPAID
* PREPAID_RELOADABLE
* PREPAID_NONRELOADABLE
* DEFFERED_DEBIT
> This functionality requires additional configuration on Adyen''s end. To enable it, contact the Support Team.
For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.'
type: string
fundsAvailability:
description: 'Indicates availability of funds.
Visa:
* "I" (fast funds are supported)
* "N" (otherwise)
Mastercard:
* "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)
* "N" (otherwise)
> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D".'
type: string
inferredRefusalReason:
description: 'Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported".
Possible values:
* 3D Secure Mandated
* Closed Account
* ContAuth Not Supported
* CVC Mandated
* Ecommerce Not Allowed
* Crossborder Not Supported
* Card Updated
* Low Authrate Bin
* Non-reloadable prepaid card'
type: string
isCardCommercial:
description: Indicates if the card is used for business purposes only.
type: string
issuerCountry:
description: 'The issuing country of the card based on the BIN list that Adyen maintains.
Example: JP'
type: string
liabilityShift:
description: A Boolean value indicating whether a liability shift was offered for this payment.
type: string
mcBankNetReferenceNumber:
description: 'The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.
> Contact Support Team to enable this field.'
type: string
merchantAdviceCode:
description: 'The Merchant Advice Code (MAC) can be returned by Mastercard issuers for refused payments. If present, the MAC contains information about why the payment failed, and whether it can be retried.
For more information see [Mastercard Merchant Advice Codes](https://docs.adyen.com/development-resources/raw-acquirer-responses#mastercard-merchant-advice-codes).'
type: string
merchantReference:
description: The reference provided for the transaction.
type: string
networkTxReference:
description: 'Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.
This contains either the Mastercard Trace ID or the Visa Transaction ID.'
type: string
ownerName:
description: 'The owner name of a bank account.
Only relevant for SEPA Direct Debit transactions.'
type: string
paymentAccountReference:
description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.
type: string
paymentMethod:
description: The payment method used in the transaction.
type: string
paymentMethodVariant:
description: 'The Adyen sub-variant of the payment method used for the payment request.
For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).
Example: mcpro'
type: string
payoutEligible:
description: 'Indicates whether a payout is eligible or not for this card.
Visa:
* "Y"
* "N"
Mastercard:
* "Y" (domestic and cross-border)
* "D" (only domestic)
* "N" (no MoneySend)
* "U" (unknown)'
type: string
realtimeAccountUpdaterStatus:
description: 'The response code from the Real Time Account Updater service.
Possible return values are:
* CardChanged
* CardExpiryChanged
* CloseAccount
* ContactCardAccountHolder'
type: string
receiptFreeText:
description: Message to be displayed on the terminal.
type: string
recurring.contractTypes:
x-addedInVersion: '40'
description: The recurring contract types applicable to the transaction.
type: string
recurring.firstPspReference:
description: 'The `pspReference`, of the first recurring payment that created the recurring detail.
This functionality requires additional configuration on Adyen''s end. To enable it, contact the Support Team.'
type: string
recurring.recurringDetailReference:
description: The reference that uniquely identifies the recurring transaction.
type: string
recurring.shopperReference:
x-addedInVersion: '40'
description: The provided reference of the shopper for a recurring transaction.
type: string
recurringProcessingModel:
x-addedInVersion: '40'
description: The processing model used for the recurring transaction.
enum:
- CardOnFile
- Subscription
- UnscheduledCardOnFile
type: string
referred:
description: 'If the payment is referred, this field is set to true.
This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.
Example: true'
type: string
refusalReasonRaw:
description: 'Raw refusal reason received from the acquirer, where available.
Example: AUTHORISED'
type: string
requestAmount:
description: The amount of the payment request.
type: string
requestCurrencyCode:
description: The currency of the payment request.
type: string
shopperInteraction:
description: 'The shopper interaction type of the payment request.
Example: Ecommerce'
type: string
shopperReference:
description: 'The shopperReference passed in the payment request.
Example: AdyenTestShopperXX'
type: string
terminalId:
description: 'The terminal ID used in a point-of-sale payment.
Example: 06022622'
type: string
threeDAuthenticated:
description: 'A Boolean value indicating whether 3DS authentication was completed on this payment.
Example: true'
type: string
threeDAuthenticatedResponse:
description: 'The raw 3DS authentication result from the card issuer.
Example: N'
type: string
threeDOffered:
description: 'A Boolean value indicating whether 3DS was offered for this payment.
Example: true'
type: string
threeDOfferedResponse:
description: 'The raw enrollment result from the 3DS directory services of the card schemes.
Example: Y'
type: string
threeDSVersion:
description: The 3D Secure 2 version.
type: string
visaTransactionId:
description: 'The `visaTransactionId`, has a fixed length of 15 numeric characters.
> Contact Support Team to enable this field.'
type: string
xid:
description: 'The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse ''N'' or ''Y''. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.
Example: ODgxNDc2MDg2MDExODk5MAAAAAA='
type: string
type: object
ResponseAdditionalDataCard:
properties:
cardBin:
description: 'The first six digits of the card number.
This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with a six-digit BIN.
Example: 521234'
type: string
cardHolderName:
description: The cardholder name passed in the payment request.
type: string
cardIssuingBank:
description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.
type: string
cardIssuingCountry:
description: 'The country where the card was issued.
Example: US'
type: string
cardIssuingCurrency:
description: "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD"
type: string
cardPaymentMethod:
description: 'The card payment method used for the transaction.
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/adyen-payout-api-openapi.yml