Files
adyen-openapi/yaml/BalancePlatformTransferNotification-v4.yaml
Adyen Automation fa60910663 spec release
2025-05-21 13:37:13 +02:00

2855 lines
98 KiB
YAML

openapi: 3.1.0
info:
version: '4'
x-publicVersion: true
title: Transfer webhooks
description: 'Adyen sends webhooks to inform your system about incoming and outgoing
transfers in your platform.
You can use these webhooks to build your implementation. For example, you can
use this information to update balances in your own dashboards or to keep track
of incoming funds.'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
tags:
- name: General
webhooks:
balancePlatform.transfer.created:
post:
tags:
- General
summary: Transfer created
description: Adyen sends this webhook when there are fund movements on your
platform.
x-addedInVersion: '1'
operationId: post-balancePlatform.transfer.created
x-sortIndex: 0
x-methodName: transferCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
balancePlatform-transfer-created-incoming-internal:
$ref: '#/components/examples/post-balancePlatform.transfer.created-balancePlatform-transfer-created-incoming-internal'
balancePlatform-transfer-created-outgoing-external:
$ref: '#/components/examples/post-balancePlatform.transfer.created-balancePlatform-transfer-created-outgoing-external'
schema:
$ref: '#/components/schemas/TransferNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.transfer.updated:
post:
tags:
- General
summary: Transfer updated
description: "Adyen sends this webhook when the status of a transfer changes.\
\ Use the `data.id` to track the original transfer resource in the [balancePlatform.transfer.created](https://docs.adyen.com/api-explorer/transfer-webhooks/1/post/balancePlatform.transfer.created)\
\ webhook.\n\nThe `status` field indicates the event that triggered the webhook.\
\ \n\n"
x-addedInVersion: '1'
operationId: post-balancePlatform.transfer.updated
x-sortIndex: 0
x-methodName: transferUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
01.payout-authorized:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-01.payout-authorized'
02.payout-booked:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-02.payout-booked'
03.internal-authorised:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-03.internal-authorised'
04.internal-booked:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-04.internal-booked'
05.directDebit-booked:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-05.directDebit-booked'
06.directDebit-cancelled:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-06.directDebit-cancelled'
07.directDebit-failed:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-07.directDebit-failed'
08.internalDirectDebit-incoming-booked:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-08.internalDirectDebit-incoming-booked'
09.internalDirectDebit-outgoing-booked:
$ref: '#/components/examples/post-balancePlatform.transfer.updated-09.internalDirectDebit-outgoing-booked'
schema:
$ref: '#/components/schemas/TransferNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
components:
schemas:
AULocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
maxLength: 9
minLength: 5
type: string
bsbCode:
description: The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch),
without separators or whitespace.
maxLength: 6
minLength: 6
type: string
type:
default: auLocal
description: '**auLocal**'
enum:
- auLocal
type: string
required:
- type
- accountNumber
- bsbCode
type: object
AdditionalBankIdentification:
additionalProperties: false
properties:
code:
description: The value of the additional bank identification.
type: string
type:
description: "The type of additional bank identification, depending on the\
\ country.\n\nPossible values:\n\n * **gbSortCode**: The 6-digit [UK sort\
\ code](https://en.wikipedia.org/wiki/Sort_code), without separators or\
\ spaces\n * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),\
\ without separators or spaces."
enum:
- gbSortCode
- usRoutingNumber
type: string
type: object
Address:
additionalProperties: false
properties:
city:
description: "The name of the city.\n\nSupported characters: **[a-z] [A-Z]\
\ [0-9] . - \u2014 / # , \u2019 \xB0 ( ) : ; [ ] & \\ |** and Space.\n\
\n> Required when the `category` is **card**.\n"
minLength: 3
type: string
country:
description: The two-character ISO 3166-1 alpha-2 country code. For example,
**US**, **NL**, or **GB**.
type: string
line1:
description: "The first line of the street address.\n\nSupported characters:\
\ **[a-z] [A-Z] [0-9] . - \u2014 / # , \u2019 \xB0 ( ) : ; [ ] & \\ |**\
\ and Space.\n\n> Required when the `category` is **card**.\n"
type: string
line2:
description: "The second line of the street address.\n\nSupported characters:\
\ **[a-z] [A-Z] [0-9] . - \u2014 / # , \u2019 \xB0 ( ) : ; [ ] & \\ |**\
\ and Space.\n\n> Required when the `category` is **card**.\n"
type: string
postalCode:
description: 'The postal code.
Maximum length:
* 5 digits for an address in the US.
* 10 characters for an address in all other countries.
Supported characters: **[a-z] [A-Z] [0-9]** and Space.
> Required for addresses in the US.
'
minLength: 3
type: string
stateOrProvince:
description: " The two-letter ISO 3166-2 state or province code. For example,\
\ **CA** in the US or **ON** in Canada.\n\n > Required for the US and\
\ Canada.\n"
type: string
required:
- country
type: object
Airline:
additionalProperties: false
properties:
legs:
description: Details about the flight legs for this ticket.
items:
$ref: '#/components/schemas/Leg'
type: array
ticketNumber:
description: The ticket's unique identifier
type: string
type: object
Amount:
additionalProperties: false
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#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#minor-units).
format: int64
type: integer
required:
- value
- currency
type: object
AmountAdjustment:
additionalProperties: false
properties:
amount:
x-addedInVersion: '3'
description: The adjustment amount.
$ref: '#/components/schemas/Amount'
amountAdjustmentType:
x-addedInVersion: '3'
description: 'The type of markup that is applied to an authorised payment.
Possible values: **exchange**, **forexMarkup**, **authHoldReserve**, **atmMarkup**.'
enum:
- atmMarkup
- authHoldReserve
- exchange
- forexMarkup
type: string
basepoints:
x-addedInVersion: '3'
description: The basepoints associated with the applied markup.
format: int32
type: integer
type: object
BRLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
maxLength: 10
minLength: 1
type: string
bankCode:
description: The 3-digit bank code, with leading zeros.
maxLength: 3
minLength: 3
type: string
branchNumber:
description: The bank account branch number, without separators or whitespace.
maxLength: 4
minLength: 1
type: string
ispb:
description: The 8-digit ISPB, with leading zeros.
maxLength: 8
minLength: 8
type: string
type:
default: brLocal
description: '**brLocal**'
enum:
- brLocal
type: string
required:
- type
- branchNumber
- accountNumber
- bankCode
type: object
BalanceMutation:
additionalProperties: false
properties:
balance:
x-addedInVersion: '3'
description: The amount in the payment's currency that is debited or credited
on the balance accounting register.
format: int64
type: integer
currency:
x-addedInVersion: '3'
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
type: string
received:
x-addedInVersion: '3'
description: The amount in the payment's currency that is debited or credited
on the received accounting register.
format: int64
type: integer
reserved:
x-addedInVersion: '3'
description: The amount in the payment's currency that is debited or credited
on the reserved accounting register.
format: int64
type: integer
type: object
BalancePlatformNotificationResponse:
additionalProperties: false
properties:
notificationResponse:
description: Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).
type: string
type: object
BankAccountV3:
additionalProperties: false
properties:
accountHolder:
description: Information about the owner of the bank account.
$ref: '#/components/schemas/PartyIdentification'
accountIdentification:
description: Contains the bank account details. The fields required in this
object depend on the country of the bank account and the currency of the
transfer.
oneOf:
- $ref: '#/components/schemas/AULocalAccountIdentification'
- $ref: '#/components/schemas/BRLocalAccountIdentification'
- $ref: '#/components/schemas/CALocalAccountIdentification'
- $ref: '#/components/schemas/CZLocalAccountIdentification'
- $ref: '#/components/schemas/DKLocalAccountIdentification'
- $ref: '#/components/schemas/HKLocalAccountIdentification'
- $ref: '#/components/schemas/HULocalAccountIdentification'
- $ref: '#/components/schemas/IbanAccountIdentification'
- $ref: '#/components/schemas/NOLocalAccountIdentification'
- $ref: '#/components/schemas/NZLocalAccountIdentification'
- $ref: '#/components/schemas/NumberAndBicAccountIdentification'
- $ref: '#/components/schemas/PLLocalAccountIdentification'
- $ref: '#/components/schemas/SELocalAccountIdentification'
- $ref: '#/components/schemas/SGLocalAccountIdentification'
- $ref: '#/components/schemas/UKLocalAccountIdentification'
- $ref: '#/components/schemas/USLocalAccountIdentification'
required:
- accountIdentification
- accountHolder
type: object
BankCategoryData:
additionalProperties: false
properties:
priority:
x-addedInVersion: '4'
description: 'The priority for the bank transfer. This sets the speed at
which the transfer is sent and the fees that you have to pay. Required
for transfers with `category` **bank**.
Possible values:
* **regular**: for normal, low-value transactions.
* **fast**: a faster way to transfer funds, but the fees are higher. Recommended
for high-priority, low-value transactions.
* **wire**: the fastest way to transfer funds, but this has the highest
fees. Recommended for high-priority, high-value transactions.
* **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html).
* **crossBorder**: for high-value transfers to a recipient in a different
country.
* **internal**: for transfers to an Adyen-issued business bank account
(by bank account number/IBAN).'
enum:
- crossBorder
- fast
- instant
- internal
- regular
- wire
type: string
type:
default: bank
description: '**bank**'
enum:
- bank
type: string
type: object
CALocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 5- to 12-digit bank account number, without separators
or whitespace.
maxLength: 12
minLength: 5
type: string
accountType:
default: checking
description: 'The bank account type.
Possible values: **checking** or **savings**. Defaults to **checking**.'
enum:
- checking
- savings
type: string
institutionNumber:
description: The 3-digit institution number, without separators or whitespace.
maxLength: 3
minLength: 3
type: string
transitNumber:
description: The 5-digit transit number, without separators or whitespace.
maxLength: 5
minLength: 5
type: string
type:
default: caLocal
description: '**caLocal**'
enum:
- caLocal
type: string
required:
- type
- accountNumber
- institutionNumber
- transitNumber
type: object
CZLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: "The 2- to 16-digit bank account number (\u010C\xEDslo \xFA\
\u010Dtu) in the following format:\n\n- The optional prefix (p\u0159ed\u010D\
\xEDsl\xED).\n\n- The required second part (z\xE1kladn\xED \u010D\xE1\
st) which must be at least two non-zero digits.\n\nExamples:\n\n- **19-123457**\
\ (with prefix)\n\n- **123457** (without prefix)\n\n- **000019-0000123457**\
\ (with prefix, normalized)\n\n- **000000-0000123457** (without prefix,\
\ normalized)"
maxLength: 17
minLength: 2
type: string
bankCode:
description: "The 4-digit bank code (K\xF3d banky), without separators or\
\ whitespace."
maxLength: 4
minLength: 4
type: string
type:
default: czLocal
description: '**czLocal**'
enum:
- czLocal
type: string
required:
- type
- accountNumber
- bankCode
type: object
Card:
additionalProperties: false
properties:
cardHolder:
description: Contains information about the cardholder.
$ref: '#/components/schemas/PartyIdentification'
cardIdentification:
description: Contains the identification details of the card.
$ref: '#/components/schemas/CardIdentification'
required:
- cardIdentification
- cardHolder
type: object
CardIdentification:
additionalProperties: false
properties:
expiryMonth:
description: 'The expiry month of the card.
Format: two digits. Add a leading zero for single-digit months. For example:
* 03 = March
* 11 = November'
maxLength: 2
minLength: 2
type: string
expiryYear:
description: 'The expiry year of the card.
Format: four digits. For example: 2020'
maxLength: 4
minLength: 4
type: string
issueNumber:
description: The issue number of the card. Applies only to some UK debit
cards.
maxLength: 2
minLength: 1
type: string
number:
description: 'The card number without any separators.
For security, the response only includes the last four digits of the card
number.'
maxLength: 19
minLength: 4
type: string
startMonth:
description: 'The month when the card was issued. Applies only to some UK
debit cards.
Format: two digits. Add a leading zero for single-digit months. For example:
* 03 = March
* 11 = November'
maxLength: 2
minLength: 2
type: string
startYear:
description: 'The year when the card was issued. Applies only to some UK
debit cards.
Format: four digits. For example: 2020'
maxLength: 4
minLength: 4
type: string
storedPaymentMethodId:
description: 'The unique [token](/payouts/payout-service/pay-out-to-cards/manage-card-information#save-card-details)
created to identify the counterparty.
'
type: string
type: object
ConfirmationTrackingData:
additionalProperties: false
properties:
status:
description: "The status of the transfer.\n\nPossible values:\n\n - **credited**:\
\ the funds are credited to your user's transfer instrument or bank account."
enum:
- credited
type: string
type:
default: confirmation
description: "The type of the tracking event.\n\nPossible values:\n\n -\
\ **confirmation**: the transfer passed Adyen's internal review."
enum:
- confirmation
type: string
required:
- type
- status
type: object
CounterpartyV3:
additionalProperties: false
properties:
balanceAccountId:
description: The unique identifier of the counterparty [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id).
type: string
bankAccount:
description: Contains information about the counterparty bank account.
$ref: '#/components/schemas/BankAccountV3'
card:
description: Contains information about the counterparty card.
$ref: '#/components/schemas/Card'
merchant:
description: Contains information about the merchant.
$ref: '#/components/schemas/MerchantData'
transferInstrumentId:
description: The unique identifier of the counterparty [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id).
type: string
type: object
DKLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 4-10 digits bank account number (Kontonummer) (without
separators or whitespace).
maxLength: 10
minLength: 4
type: string
bankCode:
description: The 4-digit bank code (Registreringsnummer) (without separators
or whitespace).
maxLength: 4
minLength: 4
type: string
type:
default: dkLocal
description: '**dkLocal**'
enum:
- dkLocal
type: string
required:
- type
- accountNumber
- bankCode
type: object
DirectDebitInformation:
additionalProperties: false
properties:
dateOfSignature:
description: The date when the direct debit mandate was accepted by your
user, in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format.
format: date-time
type: string
dueDate:
description: The date when the funds are deducted from your user's balance
account.
format: date-time
type: string
mandateId:
description: Your unique identifier for the direct debit mandate.
type: string
sequenceType:
description: 'Identifies the direct debit transfer''s type.
Possible values: **OneOff**, **First**, **Recurring**, **Final**.'
type: string
type: object
EstimationTrackingData:
additionalProperties: false
properties:
estimatedArrivalTime:
description: The estimated time the beneficiary should have access to the
funds.
format: date-time
type: string
type:
default: estimation
description: "The type of tracking event. \n\nPossible values: \n\n- **estimation**:\
\ the estimated date and time of when the funds will be credited has been\
\ determined."
enum:
- estimation
type: string
required:
- type
- estimatedArrivalTime
type: object
ExecutionDate:
additionalProperties: false
properties:
date:
description: 'The date when the transfer will be processed. This date must
be:
* Within 30 days of the current date.
* In the [ISO 8601 format](https://www.iso.org/iso-8601-date-and-time-format.html)
**YYYY-MM-DD**. For example: 2025-01-31'
format: date
type: string
timezone:
description: "The timezone that applies to the execution date. Use a timezone\
\ identifier from the [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).\n\
\nExample: **America/Los_Angeles**.\n Default value: **Europe/Amsterdam**."
type: string
type: object
ExternalReason:
additionalProperties: false
properties:
code:
description: The reason code.
type: string
description:
description: The description of the reason code.
type: string
namespace:
description: The namespace for the reason code.
type: string
type: object
HKLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 9- to 15-character bank account number (alphanumeric),
without separators or whitespace. Starts with the 3-digit branch code.
maxLength: 15
minLength: 9
type: string
clearingCode:
description: The 3-digit clearing code, without separators or whitespace.
maxLength: 3
minLength: 3
type: string
type:
default: hkLocal
description: '**hkLocal**'
enum:
- hkLocal
type: string
required:
- type
- accountNumber
- clearingCode
type: object
HULocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 24-digit bank account number, without separators or whitespace.
maxLength: 24
minLength: 24
type: string
type:
default: huLocal
description: '**huLocal**'
enum:
- huLocal
type: string
required:
- type
- accountNumber
type: object
IbanAccountIdentification:
additionalProperties: false
properties:
iban:
description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
standard.
type: string
type:
default: iban
description: '**iban**'
enum:
- iban
type: string
required:
- type
- iban
type: object
InternalCategoryData:
additionalProperties: false
properties:
modificationMerchantReference:
x-addedInVersion: '4'
description: The capture's merchant reference included in the transfer.
type: string
modificationPspReference:
x-addedInVersion: '4'
description: The capture reference included in the transfer.
type: string
type:
default: internal
description: '**internal**'
enum:
- internal
type: string
type: object
InternalReviewTrackingData:
additionalProperties: false
properties:
reason:
description: "The reason why the transfer failed Adyen's internal review.\
\ \n\nPossible values:\n\n- **refusedForRegulatoryReasons**: the transfer\
\ does not comply with Adyen's risk policy. For more information, [contact\
\ the Support Team](https://www.adyen.help/hc/en-us/requests/new). "
enum:
- refusedForRegulatoryReasons
type: string
status:
description: "The status of the transfer.\n\nPossible values:\n\n - **pending**:\
\ the transfer is under internal review.\n\n- **failed**: the transfer\
\ failed Adyen's internal review. For details, see `reason`.\n\n"
enum:
- pending
- failed
type: string
type:
default: internalReview
description: "The type of tracking event. \n\nPossible values: \n\n - **internalReview**:\
\ the transfer was flagged because it does not comply with Adyen's risk\
\ policy."
enum:
- internalReview
type: string
required:
- type
- status
type: object
IssuedCard:
additionalProperties: false
properties:
authorisationType:
x-addedInVersion: '4'
description: The authorisation type. For example, **defaultAuthorisation**,
**preAuthorisation**, **finalAuthorisation**
type: string
panEntryMode:
x-addedInVersion: '4'
description: 'Indicates the method used for entering the PAN to initiate
a transaction.
Possible values: **manual**, **chip**, **magstripe**, **contactless**,
**cof**, **ecommerce**, **token**.'
enum:
- chip
- cof
- contactless
- ecommerce
- magstripe
- manual
- token
type: string
processingType:
x-addedInVersion: '4'
description: Contains information about how the payment was processed. For
example, **ecommerce** for online or **pos** for in-person payments.
enum:
- atmWithdraw
- balanceInquiry
- ecommerce
- moto
- pos
- purchaseWithCashback
- recurring
- token
type: string
relayedAuthorisationData:
x-addedInVersion: '4'
description: If you are using relayed authorisation, this object contains
information from the relayed authorisation response from your server.
$ref: '#/components/schemas/RelayedAuthorisationData'
schemeTraceId:
x-addedInVersion: '4'
description: The identifier of the original payment. This ID is provided
by the scheme and can be alphanumeric or numeric, depending on the scheme.
The `schemeTraceID` should refer to an original `schemeUniqueTransactionID`
provided in an earlier payment (not necessarily processed by Adyen). A
`schemeTraceId` is typically available for authorization adjustments or
recurring payments.
type: string
schemeUniqueTransactionId:
x-addedInVersion: '4'
description: The unique identifier created by the scheme. This ID can be
alphanumeric or numeric depending on the scheme.
type: string
type:
default: issuedCard
description: '**issuedCard**'
enum:
- issuedCard
type: string
validationFacts:
x-addedInVersion: '4'
description: The evaluation of the validation facts. See [validation checks](https://docs.adyen.com/issuing/validation-checks)
for more information.
items:
$ref: '#/components/schemas/TransferNotificationValidationFact'
type: array
type: object
IssuingTransactionData:
additionalProperties: false
properties:
captureCycleId:
description: captureCycleId associated with transfer event.
type: string
type:
default: issuingTransactionData
description: "The type of events data. \n\nPossible values: \n\n - **issuingTransactionData**:\
\ issuing transaction data"
enum:
- issuingTransactionData
type: string
required:
- type
type: object
Leg:
additionalProperties: false
properties:
arrivalAirportCode:
description: The IATA 3-letter airport code of the destination airport.
This field is required if the airline data includes leg details.
type: string
basicFareCode:
description: The basic fare code for this leg.
type: string
carrierCode:
description: IATA code of the carrier operating the flight.
type: string
departureAirportCode:
description: The IATA three-letter airport code of the departure airport.
This field is required if the airline data includes leg details
type: string
departureDate:
description: The flight departure date.
type: string
flightNumber:
description: The flight identifier.
type: string
type: object
Lodging:
additionalProperties: false
properties:
checkInDate:
description: The check-in date.
type: string
numberOfNights:
description: The total number of nights the room is booked for.
format: int32
type: integer
type: object
MerchantData:
additionalProperties: false
properties:
acquirerId:
description: The unique identifier of the merchant's acquirer.
type: string
mcc:
description: The merchant category code.
type: string
merchantId:
description: The unique identifier of the merchant.
type: string
nameLocation:
description: Contains the name and location of the merchant.
$ref: '#/components/schemas/NameLocation'
postalCode:
description: The postal code of the merchant.
type: string
type: object
MerchantPurchaseData:
additionalProperties: false
properties:
airline:
description: Airline information.
$ref: '#/components/schemas/Airline'
lodging:
description: Lodging information.
items:
$ref: '#/components/schemas/Lodging'
type: array
type:
default: merchantPurchaseData
description: "The type of events data. \n\nPossible values: \n\n - **merchantPurchaseData**:\
\ merchant purchase data"
enum:
- merchantPurchaseData
type: string
required:
- type
type: object
Modification:
additionalProperties: false
properties:
direction:
x-addedInVersion: '3'
description: The direction of the money movement.
type: string
id:
x-addedInVersion: '3'
description: Our reference for the modification.
type: string
reference:
x-addedInVersion: '3'
description: Your reference for the modification, used internally within
your platform.
type: string
status:
x-addedInVersion: '3'
description: The status of the transfer event.
enum:
- approvalPending
- atmWithdrawal
- atmWithdrawalReversalPending
- atmWithdrawalReversed
- authAdjustmentAuthorised
- authAdjustmentError
- authAdjustmentRefused
- authorised
- bankTransfer
- bankTransferPending
- booked
- bookingPending
- cancelled
- capturePending
- captureReversalPending
- captureReversed
- captured
- capturedExternally
- chargeback
- chargebackExternally
- chargebackPending
- chargebackReversalPending
- chargebackReversed
- credited
- depositCorrection
- depositCorrectionPending
- dispute
- disputeClosed
- disputeExpired
- disputeNeedsReview
- error
- expired
- failed
- fee
- feePending
- internalTransfer
- internalTransferPending
- invoiceDeduction
- invoiceDeductionPending
- manualCorrectionPending
- manuallyCorrected
- matchedStatement
- matchedStatementPending
- merchantPayin
- merchantPayinPending
- merchantPayinReversed
- merchantPayinReversedPending
- miscCost
- miscCostPending
- paymentCost
- paymentCostPending
- pendingApproval
- pendingExecution
- received
- refundPending
- refundReversalPending
- refundReversed
- refunded
- refundedExternally
- refused
- rejected
- reserveAdjustment
- reserveAdjustmentPending
- returned
- secondChargeback
- secondChargebackPending
- undefined
type: string
type:
x-addedInVersion: '3'
description: The type of transfer modification.
type: string
type: object
NOLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 11-digit bank account number, without separators or whitespace.
maxLength: 11
minLength: 11
type: string
type:
default: noLocal
description: '**noLocal**'
enum:
- noLocal
type: string
required:
- type
- accountNumber
type: object
NZLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 15-16 digit bank account number. The first 2 digits are
the bank number, the next 4 digits are the branch number, the next 7 digits
are the account number, and the final 2-3 digits are the suffix.
maxLength: 16
minLength: 15
type: string
type:
default: nzLocal
description: '**nzLocal**'
enum:
- nzLocal
type: string
required:
- type
- accountNumber
type: object
NameLocation:
additionalProperties: false
properties:
city:
description: The city where the merchant is located.
type: string
country:
description: The country where the merchant is located in [three-letter
country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format.
type: string
countryOfOrigin:
description: The home country in [three-digit country code](https://en.wikipedia.org/wiki/ISO_3166-1_numeric)
format, used for government-controlled merchants such as embassies.
type: string
name:
description: The name of the merchant's shop or service.
type: string
rawData:
description: The raw data.
type: string
state:
description: The state where the merchant is located.
type: string
type: object
NumberAndBicAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
The length and format depends on the bank or country.
maxLength: 34
type: string
additionalBankIdentification:
description: Additional identification codes of the bank. Some banks may
require these identifiers for cross-border transfers.
$ref: '#/components/schemas/AdditionalBankIdentification'
bic:
description: The bank's 8- or 11-character BIC or SWIFT code.
maxLength: 11
minLength: 8
type: string
type:
default: numberAndBic
description: '**numberAndBic**'
enum:
- numberAndBic
type: string
required:
- type
- accountNumber
- bic
type: object
PLLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)),
without separators or whitespace.
maxLength: 26
minLength: 26
type: string
type:
default: plLocal
description: '**plLocal**'
enum:
- plLocal
type: string
required:
- type
- accountNumber
type: object
PartyIdentification:
additionalProperties: false
properties:
address:
description: The address of the bank account or card owner.
$ref: '#/components/schemas/Address'
dateOfBirth:
description: 'The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime)
format. For example, **YYYY-MM-DD**.
Allowed only when `type` is **individual**.'
format: date
type: string
firstName:
description: "The first name of the individual.\n\nSupported characters:\
\ [a-z] [A-Z] - . / \u2014 and space.\n\nThis parameter is:\n- Allowed\
\ only when `type` is **individual**.\n- Required when `category` is **card**."
type: string
fullName:
description: "The full name of the entity that owns the bank account or\
\ card.\n\nSupported characters: [a-z] [A-Z] [0-9] , . ; : - \u2014 /\
\ \\ + & ! ? @ ( ) \" ' and space.\n\nRequired when `category` is **bank**."
type: string
lastName:
description: "The last name of the individual.\n\nSupported characters:\
\ [a-z] [A-Z] - . / \u2014 and space.\n\nThis parameter is:\n- Allowed\
\ only when `type` is **individual**.\n- Required when `category` is **card**."
type: string
reference:
description: 'A unique reference to identify the party or counterparty involved
in the transfer. For example, your client''s unique wallet or payee ID.
Required when you include `cardIdentification.storedPaymentMethodId`.'
maxLength: 150
type: string
type:
default: unknown
description: 'The type of entity that owns the bank account or card.
Possible values: **individual**, **organization**, or **unknown**.
Required when `category` is **card**. In this case, the value must be
**individual**.'
enum:
- individual
- organization
- unknown
type: string
type: object
PaymentInstrument:
additionalProperties: false
properties:
description:
description: The description of the resource.
type: string
id:
description: The unique identifier of the resource.
type: string
reference:
description: The reference for the resource.
type: string
tokenType:
x-addedInVersion: '3'
description: The type of wallet that the network token is associated with.
type: string
type: object
PlatformPayment:
additionalProperties: false
properties:
modificationMerchantReference:
x-addedInVersion: '4'
description: The capture's merchant reference included in the transfer.
type: string
modificationPspReference:
x-addedInVersion: '4'
description: The capture reference included in the transfer.
type: string
paymentMerchantReference:
x-addedInVersion: '4'
description: The payment's merchant reference included in the transfer.
type: string
platformPaymentType:
x-addedInVersion: '4'
description: 'Specifies the nature of the transfer. This parameter helps
categorize transfers so you can reconcile transactions at a later time,
using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/)
or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/).
Possible values:
* **AcquiringFees**: for the acquiring fee incurred on a transaction.
* **AdyenCommission**: for the transaction fee due to Adyen under [blended
rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing).
* **AdyenFees**: for all the transaction fees due to Adyen. This is the
sum of Adyen''s commission and Adyen''s markup.
* **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++
pricing](https://www.adyen.com/pricing).
* **BalanceAccount**: or the sale amount of a transaction.
* **Commission**: for your platform''s commission on a transaction.
* **DCCPlatformCommission**: for the DCC Commission for the platform on
a transaction.
* **Interchange**: for the interchange fee (fee paid to the issuer) incurred
on a transaction.
* **PaymentFee**: for all of the transaction fees.
* **Remainder**: for the left over amount after currency conversion.
* **SchemeFee**: for the scheme fee incurred on a transaction. This is
the sum of the interchange fees and the acquiring fees.
* **Surcharge**: for the surcharge paid by the customer on a transaction.
* **Tip**: for the tip paid by the customer.
* **TopUp**: for an incoming transfer to top up your user''s balance account.
* **VAT**: for the Value Added Tax.'
enum:
- AcquiringFees
- AdyenCommission
- AdyenFees
- AdyenMarkup
- BalanceAccount
- ChargebackRemainder
- Commission
- DCCPlatformCommission
- Default
- Interchange
- PaymentFee
- Remainder
- SchemeFee
- Surcharge
- Tip
- TopUp
- VAT
type: string
pspPaymentReference:
x-addedInVersion: '4'
description: The payment reference included in the transfer.
type: string
type:
default: platformPayment
description: '**platformPayment**'
enum:
- platformPayment
type: string
type: object
RelayedAuthorisationData:
additionalProperties: false
properties:
metadata:
x-addedInVersion: '3'
additionalProperties:
type: string
description: Contains key-value pairs of your references and descriptions,
for example, `customId`:`your-own-custom-field-12345`.
type: object
reference:
x-addedInVersion: '3'
description: Your reference for the relayed authorisation data.
type: string
type: object
Resource:
additionalProperties: false
properties:
balancePlatform:
description: The unique identifier of the balance platform.
type: string
creationDate:
description: The date and time when the event was triggered, in ISO 8601
extended format. For example, **2020-12-18T10:15:30+01:00**.
format: date-time
type: string
id:
description: The ID of the resource.
type: string
type: object
ResourceReference:
additionalProperties: false
properties:
description:
description: The description of the resource.
type: string
id:
description: The unique identifier of the resource.
type: string
reference:
description: The reference for the resource.
type: string
type: object
SELocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)),
without the clearing number, separators, or whitespace.
maxLength: 10
minLength: 7
type: string
clearingNumber:
description: The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)),
without separators or whitespace.
maxLength: 5
minLength: 4
type: string
type:
default: seLocal
description: '**seLocal**'
enum:
- seLocal
type: string
required:
- type
- accountNumber
- clearingNumber
type: object
SGLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 4- to 19-digit bank account number, without separators
or whitespace.
maxLength: 19
minLength: 4
type: string
bic:
description: The bank's 8- or 11-character BIC or SWIFT code.
maxLength: 11
minLength: 8
type: string
type:
default: sgLocal
description: '**sgLocal**'
enum:
- sgLocal
type: string
required:
- accountNumber
- bic
type: object
TransactionEventViolation:
additionalProperties: false
properties:
reason:
description: An explanation about why the transaction rule failed.
type: string
transactionRule:
description: Contains information about the transaction rule.
$ref: '#/components/schemas/TransactionRuleReference'
transactionRuleSource:
description: Contains the type and ID of the resource to which the transaction
rule is linked.
$ref: '#/components/schemas/TransactionRuleSource'
type: object
TransactionRuleReference:
additionalProperties: false
properties:
description:
description: The description of the resource.
type: string
id:
description: The unique identifier of the resource.
type: string
outcomeType:
x-addedInVersion: '4'
description: The outcome type of the rule.
type: string
reference:
description: The reference for the resource.
type: string
score:
x-addedInVersion: '4'
description: The score of the rule in case it's a scoreBased rule.
format: int32
type: integer
type: object
TransactionRuleSource:
additionalProperties: false
properties:
id:
description: ID of the resource, when applicable.
type: string
type:
description: "Indicates the type of resource for which the transaction rule\
\ is defined.\n\nPossible values:\n\n * **PaymentInstrumentGroup**\n\n\
* **PaymentInstrument**\n\n* **BalancePlatform**\n\n* **EntityUsageConfiguration**\n\
\n* **PlatformRule**: The transaction rule is a platform-wide rule imposed\
\ by Adyen."
type: string
type: object
TransactionRulesResult:
additionalProperties: false
properties:
advice:
description: The advice given by the Risk analysis.
type: string
allHardBlockRulesPassed:
x-addedInVersion: '4'
description: Indicates whether the transaction passed the evaluation for
all hardblock rules
type: boolean
score:
description: The score of the Risk analysis.
format: int32
type: integer
triggeredTransactionRules:
x-addedInVersion: '4'
description: Array containing all the transaction rules that the transaction
triggered.
items:
$ref: '#/components/schemas/TransactionEventViolation'
type: array
type: object
TransferData:
additionalProperties: false
properties:
accountHolder:
x-addedInVersion: '3'
description: The account holder associated with the balance account involved
in the transfer.
$ref: '#/components/schemas/ResourceReference'
amount:
x-addedInVersion: '1'
description: The amount of the transfer.
$ref: '#/components/schemas/Amount'
balanceAccount:
x-addedInVersion: '3'
description: Contains information about the balance account involved in
the transfer.
$ref: '#/components/schemas/ResourceReference'
balancePlatform:
description: The unique identifier of the balance platform.
type: string
balances:
x-addedInVersion: '3'
description: The list of the latest balance statuses in the transfer.
items:
$ref: '#/components/schemas/BalanceMutation'
type: array
category:
x-addedInVersion: '3'
description: "The category of the transfer.\n\nPossible values:\n\n - **bank**:\
\ a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id)\
\ or a bank account.\n\n- **card**: a transfer involving a third-party\
\ card.\n\n- **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id)\
\ within your platform.\n\n- **issuedCard**: a transfer initiated by a\
\ Adyen-issued card.\n\n- **platformPayment**: funds movements related\
\ to payments that are acquired for your users.\n\n- **topUp**: an incoming\
\ transfer initiated by your user to top up their balance account."
enum:
- bank
- card
- internal
- issuedCard
- platformPayment
- topUp
type: string
categoryData:
x-addedInVersion: '4'
description: The relevant data according to the transfer category.
oneOf:
- $ref: '#/components/schemas/BankCategoryData'
- $ref: '#/components/schemas/InternalCategoryData'
- $ref: '#/components/schemas/IssuedCard'
- $ref: '#/components/schemas/PlatformPayment'
counterparty:
x-addedInVersion: '3'
description: The other party in the transfer.
$ref: '#/components/schemas/TransferNotificationCounterParty'
creationDate:
x-addedInVersion: '3'
description: The date and time when the event was triggered, in ISO 8601
extended format. For example, **2020-12-18T10:15:30+01:00**.
format: date-time
type: string
description:
x-addedInVersion: '1'
description: 'Your description for the transfer. It is used by most banks
as the transfer description. We recommend sending a maximum of 140 characters,
otherwise the description may be truncated.
Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , '' + Space**
Supported characters for **regular** and **fast** transfers to a US counterparty:
**[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ '' " ! ?**'
type: string
directDebitInformation:
x-addedInVersion: '3'
description: The details of the direct debit.
$ref: '#/components/schemas/DirectDebitInformation'
direction:
x-addedInVersion: '2'
description: 'The direction of the transfer.
Possible values: **incoming**, **outgoing**.'
enum:
- incoming
- outgoing
type: string
eventId:
x-addedInVersion: '4'
description: The unique identifier of the latest transfer event. Included
only when the `category` is **issuedCard**.
type: string
events:
x-addedInVersion: '3'
description: The list of events leading up to the current status of the
transfer.
items:
$ref: '#/components/schemas/TransferEvent'
type: array
executionDate:
x-addedInVersion: '3'
description: 'Contains information about the date when the transfer will
be processed. The execution date must be within 30 days of the current
date.
Until the execution date:
- The `status` of the transfer remains as **received**.
- The `reason` of the transfer remains as **pending**.
'
$ref: '#/components/schemas/ExecutionDate'
externalReason:
x-addedInVersion: '3'
description: The external reason of this transfer.
$ref: '#/components/schemas/ExternalReason'
id:
description: The ID of the resource.
type: string
paymentInstrument:
x-addedInVersion: '3'
description: Contains information about the payment instrument used in the
transfer.
$ref: '#/components/schemas/PaymentInstrument'
reason:
x-addedInVersion: '2'
description: Additional information about the status of the transfer.
enum:
- accountHierarchyNotActive
- amountLimitExceeded
- approved
- balanceAccountTemporarilyBlockedByTransactionRule
- counterpartyAccountBlocked
- counterpartyAccountClosed
- counterpartyAccountNotFound
- counterpartyAddressRequired
- counterpartyBankTimedOut
- counterpartyBankUnavailable
- declined
- declinedByTransactionRule
- directDebitNotSupported
- error
- notEnoughBalance
- pending
- pendingApproval
- pendingExecution
- refusedByCounterpartyBank
- refusedByCustomer
- routeNotFound
- scaFailed
- transferInstrumentDoesNotExist
- unknown
type: string
reference:
x-addedInVersion: '2'
description: Your reference for the transfer, used internally within your
platform. If you don't provide this in the request, Adyen generates a
unique reference.
maxLength: 80
type: string
referenceForBeneficiary:
x-addedInVersion: '2'
description: " A reference that is sent to the recipient. This reference\
\ is also sent in all webhooks related to the transfer, so you can use\
\ it to track statuses for both the source and recipient of funds.\n\n\
\ Supported characters: **a-z**, **A-Z**, **0-9**.The maximum length depends\
\ on the `category`.\n\n - **internal**: 80 characters\n\n- **bank**:\
\ 35 characters when transferring to an IBAN, 15 characters for others."
type: string
review:
x-addedInVersion: '3'
description: Contains status updates related to additional reviews.
$ref: '#/components/schemas/TransferReview'
sequenceNumber:
x-addedInVersion: '3'
description: 'The sequence number of the transfer webhook. The numbers start
from 1 and increase with each new webhook for a specific transfer.
The sequence number can help you restore the correct sequence of events
even if they arrive out of order.'
format: int32
type: integer
status:
x-addedInVersion: '2'
description: "The result of the transfer.\n\n For example, **authorised**,\
\ **refused**, or **error**."
enum:
- approvalPending
- atmWithdrawal
- atmWithdrawalReversalPending
- atmWithdrawalReversed
- authAdjustmentAuthorised
- authAdjustmentError
- authAdjustmentRefused
- authorised
- bankTransfer
- bankTransferPending
- booked
- bookingPending
- cancelled
- capturePending
- captureReversalPending
- captureReversed
- captured
- capturedExternally
- chargeback
- chargebackExternally
- chargebackPending
- chargebackReversalPending
- chargebackReversed
- credited
- depositCorrection
- depositCorrectionPending
- dispute
- disputeClosed
- disputeExpired
- disputeNeedsReview
- error
- expired
- failed
- fee
- feePending
- internalTransfer
- internalTransferPending
- invoiceDeduction
- invoiceDeductionPending
- manualCorrectionPending
- manuallyCorrected
- matchedStatement
- matchedStatementPending
- merchantPayin
- merchantPayinPending
- merchantPayinReversed
- merchantPayinReversedPending
- miscCost
- miscCostPending
- paymentCost
- paymentCostPending
- pendingApproval
- pendingExecution
- received
- refundPending
- refundReversalPending
- refundReversed
- refunded
- refundedExternally
- refused
- rejected
- reserveAdjustment
- reserveAdjustmentPending
- returned
- secondChargeback
- secondChargebackPending
- undefined
type: string
tracking:
x-addedInVersion: '3'
description: The latest tracking information of the transfer.
oneOf:
- $ref: '#/components/schemas/ConfirmationTrackingData'
- $ref: '#/components/schemas/EstimationTrackingData'
- $ref: '#/components/schemas/InternalReviewTrackingData'
transactionRulesResult:
x-addedInVersion: '3'
description: Contains the results of the evaluation of the transaction rules.
$ref: '#/components/schemas/TransactionRulesResult'
type:
x-addedInVersion: '3'
description: The type of transfer or transaction. For example, **refund**,
**payment**, **internalTransfer**, **bankTransfer**.
enum:
- payment
- capture
- captureReversal
- refund
- refundReversal
- chargeback
- chargebackCorrection
- chargebackReversal
- chargebackReversalCorrection
- secondChargeback
- secondChargebackCorrection
- atmWithdrawal
- atmWithdrawalReversal
- internalTransfer
- internalDirectDebit
- manualCorrection
- invoiceDeduction
- depositCorrection
- reserveAdjustment
- bankTransfer
- bankDirectDebit
- cardTransfer
- miscCost
- paymentCost
- fee
- leftover
- grant
- capitalFundsCollection
- cashOutInstruction
- cashoutFee
- cashoutRepayment
- cashoutFunding
- repayment
- installment
- installmentReversal
- balanceAdjustment
- balanceRollover
- balanceMigration
type: string
required:
- status
- category
- amount
type: object
TransferEvent:
additionalProperties: false
properties:
amount:
x-addedInVersion: '3'
description: The original journal amount. Only applicable for [issuing](https://docs.adyen.com/issuing/)
integrations.
$ref: '#/components/schemas/Amount'
amountAdjustments:
x-addedInVersion: '3'
description: The amount adjustments in this transfer. Only applicable for
[issuing](https://docs.adyen.com/issuing/) integrations.
items:
$ref: '#/components/schemas/AmountAdjustment'
type: array
arn:
x-addedInVersion: '4'
description: Scheme unique arn identifier useful for tracing captures, chargebacks,
refunds, etc.
type: string
bookingDate:
x-addedInVersion: '3'
description: The date when the transfer request was sent.
format: date-time
type: string
estimatedArrivalTime:
x-addedInVersion: '3'
description: The estimated time when the beneficiary should have access
to the funds.
format: date-time
type: string
eventsData:
x-addedInVersion: '4'
description: A list of event data.
items:
oneOf:
- $ref: '#/components/schemas/IssuingTransactionData'
- $ref: '#/components/schemas/MerchantPurchaseData'
type: array
externalReason:
x-addedInVersion: '3'
description: The external reason for the transfer status.
$ref: '#/components/schemas/ExternalReason'
id:
x-addedInVersion: '3'
description: The unique identifier of the transfer event.
type: string
modification:
x-addedInVersion: '3'
description: The payment modification. Only applicable for [returned internal
transfers](https://docs.adyen.com/platforms/internal-fund-transfers/internal-transfer-webhooks/#returned-internal-transfer).
$ref: '#/components/schemas/Modification'
mutations:
x-addedInVersion: '3'
description: The list of balance mutations per event.
items:
$ref: '#/components/schemas/BalanceMutation'
type: array
originalAmount:
x-addedInVersion: '3'
description: 'The amount in the original currency. Only applicable for [issuing](https://docs.adyen.com/issuing/)
integrations. '
$ref: '#/components/schemas/Amount'
reason:
x-addedInVersion: '3'
description: The reason for the transfer status.
enum:
- accountHierarchyNotActive
- amountLimitExceeded
- approved
- balanceAccountTemporarilyBlockedByTransactionRule
- counterpartyAccountBlocked
- counterpartyAccountClosed
- counterpartyAccountNotFound
- counterpartyAddressRequired
- counterpartyBankTimedOut
- counterpartyBankUnavailable
- declined
- declinedByTransactionRule
- directDebitNotSupported
- error
- notEnoughBalance
- pending
- pendingApproval
- pendingExecution
- refusedByCounterpartyBank
- refusedByCustomer
- routeNotFound
- scaFailed
- transferInstrumentDoesNotExist
- unknown
type: string
status:
x-addedInVersion: '3'
description: The status of the transfer event.
enum:
- approvalPending
- atmWithdrawal
- atmWithdrawalReversalPending
- atmWithdrawalReversed
- authAdjustmentAuthorised
- authAdjustmentError
- authAdjustmentRefused
- authorised
- bankTransfer
- bankTransferPending
- booked
- bookingPending
- cancelled
- capturePending
- captureReversalPending
- captureReversed
- captured
- capturedExternally
- chargeback
- chargebackExternally
- chargebackPending
- chargebackReversalPending
- chargebackReversed
- credited
- depositCorrection
- depositCorrectionPending
- dispute
- disputeClosed
- disputeExpired
- disputeNeedsReview
- error
- expired
- failed
- fee
- feePending
- internalTransfer
- internalTransferPending
- invoiceDeduction
- invoiceDeductionPending
- manualCorrectionPending
- manuallyCorrected
- matchedStatement
- matchedStatementPending
- merchantPayin
- merchantPayinPending
- merchantPayinReversed
- merchantPayinReversedPending
- miscCost
- miscCostPending
- paymentCost
- paymentCostPending
- pendingApproval
- pendingExecution
- received
- refundPending
- refundReversalPending
- refundReversed
- refunded
- refundedExternally
- refused
- rejected
- reserveAdjustment
- reserveAdjustmentPending
- returned
- secondChargeback
- secondChargebackPending
- undefined
type: string
trackingData:
x-addedInVersion: '3'
description: Additional information for the tracking event.
oneOf:
- $ref: '#/components/schemas/ConfirmationTrackingData'
- $ref: '#/components/schemas/EstimationTrackingData'
- $ref: '#/components/schemas/InternalReviewTrackingData'
transactionId:
x-addedInVersion: '3'
description: The id of the transaction that is related to this accounting
event. Only sent for events of type **accounting** where the balance changes.
type: string
type:
x-addedInVersion: '3'
description: 'The type of the transfer event. Possible values: **accounting**,
**tracking**.'
enum:
- accounting
- tracking
type: string
updateDate:
x-addedInVersion: '3'
description: The date when the tracking status was updated.
format: date-time
type: string
valueDate:
x-addedInVersion: '3'
description: The date when the funds are expected to be deducted from or
credited to the balance account. This date can be in either the past or
future.
format: date-time
type: string
type: object
TransferNotificationCounterParty:
additionalProperties: false
properties:
balanceAccountId:
description: The unique identifier of the counterparty [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id).
type: string
bankAccount:
description: Contains information about the counterparty bank account.
$ref: '#/components/schemas/BankAccountV3'
card:
description: Contains information about the counterparty card.
$ref: '#/components/schemas/Card'
merchant:
description: Contains information about the merchant.
$ref: '#/components/schemas/TransferNotificationMerchantData'
transferInstrumentId:
description: The unique identifier of the counterparty [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id).
type: string
type: object
TransferNotificationMerchantData:
additionalProperties: false
properties:
acquirerId:
description: The unique identifier of the merchant's acquirer.
type: string
city:
description: The city where the merchant is located.
type: string
country:
description: The country where the merchant is located.
type: string
mcc:
description: The merchant category code.
type: string
merchantId:
description: The unique identifier of the merchant.
type: string
name:
description: The name of the merchant's shop or service.
type: string
postalCode:
description: The postal code of the merchant.
type: string
type: object
TransferNotificationRequest:
additionalProperties: false
properties:
data:
description: Contains details about the event.
$ref: '#/components/schemas/TransferData'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
timestamp:
description: When the event was queued.
format: date-time
type: string
type:
description: The type of webhook.
enum:
- balancePlatform.transfer.created
- balancePlatform.transfer.updated
type: string
required:
- environment
- data
type: object
TransferNotificationValidationFact:
additionalProperties: false
properties:
result:
description: The evaluation result of the validation fact.
type: string
type:
description: The type of the validation fact.
type: string
type: object
TransferReview:
additionalProperties: false
properties:
numberOfApprovalsRequired:
description: Shows the number of [approvals](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers/approve)
required to process the transfer.
format: int32
type: integer
scaOnApproval:
description: 'Shows the status of the Strong Customer Authentication (SCA)
process.
Possible values: **required**, **notApplicable**.'
enum:
- completed
- notApplicable
- required
type: string
type: object
UKLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 8-digit bank account number, without separators or whitespace.
maxLength: 8
minLength: 8
type: string
sortCode:
description: The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code),
without separators or whitespace.
maxLength: 6
minLength: 6
type: string
type:
default: ukLocal
description: '**ukLocal**'
enum:
- ukLocal
type: string
required:
- type
- accountNumber
- sortCode
type: object
USLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
maxLength: 18
minLength: 2
type: string
accountType:
default: checking
description: 'The bank account type.
Possible values: **checking** or **savings**. Defaults to **checking**.'
enum:
- checking
- savings
type: string
routingNumber:
description: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
without separators or whitespace.
maxLength: 9
minLength: 9
type: string
type:
default: usLocal
description: '**usLocal**'
enum:
- usLocal
type: string
required:
- type
- accountNumber
- routingNumber
type: object
securitySchemes:
BasicAuth:
scheme: basic
type: http
examples:
post-balancePlatform.transfer.created-balancePlatform-transfer-created-incoming-internal:
summary: Initiated incoming internal transfer
description: Example webhook for an initiated incoming transfer
value:
data:
id: 2WT1N05XXY7P9XH9
type: internalTransfer
accountHolder:
description: Your description of the account holder of the target balance
account
id: AH00000000000000000000002
reference: Your reference of the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: 1000
category: internal
creationDate: '2023-02-28T13:30:05+02:00'
description: Your description of the transfer
direction: incoming
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: 1000
status: received
type: accounting
reason: approved
reference: Your reference of the transfer
referenceForBeneficiary: Your-reference-for-the-recipient-of-the-transfer-request
sequenceNumber: 1
status: received
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.created
post-balancePlatform.transfer.created-balancePlatform-transfer-created-outgoing-external:
summary: Initiated payout to a transfer instrument
description: Example webhook for an initiated outgoing bank transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000001
reference: Your reference for the account holder
amount:
currency: EUR
value: 10000
balanceAccount:
description: Your description of the balance account from where the amount
is debited
id: BA00000000000000000000001
reference: Your reference for the balance account
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: -10000
category: bank
categoryData:
priority: regular
type: bank
creationDate: '2023-02-28T13:30:05+02:00'
description: Your user description of the transfer
direction: outgoing
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000001
mutations:
- currency: EUR
received: -10000
status: received
type: accounting
id: 6JKRLZ8LOT47J7RY
reason: approved
reference: Your user reference for the transfer
referenceForBeneficiary: Your user reference for the beneficiary
sequenceNumber: 1
transactionRulesResult:
allHardBlockRulesPassed: true
status: received
type: bankTransfer
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.created
post-balancePlatform.transfer.updated-01.payout-authorized:
summary: Authorized payout to a transfer instrument
description: Example webhook of an authorised outgoing bank transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000001
reference: Your reference for the account holder
amount:
currency: EUR
value: 10000
balanceAccount:
description: Your description of the balance account from where the amount
is debited
id: BA00000000000000000000001
reference: Your reference for the balance account
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: 0
reserved: -10000
category: bank
categoryData:
priority: regular
type: bank
creationDate: '2023-02-28T13:30:05+02:00'
description: Your user description of the transfer
direction: outgoing
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000001
mutations:
- currency: EUR
received: -10000
status: received
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000002
mutations:
- currency: EUR
received: 10000
reserved: -10000
status: authorised
type: accounting
id: 6JKRLZ8LOT47J7RY
reason: approved
reference: Your user reference for the transfer
referenceForBeneficiary: Your user reference for the beneficiary
sequenceNumber: 2
transactionRulesResult:
allHardBlockRulesPassed: true
status: authorised
type: bankTransfer
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-02.payout-booked:
summary: Booked payout to a transfer instrument
description: Example webhook of a booked outgoing bank transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000001
reference: Your reference for the account holder
amount:
currency: EUR
value: 10000
balanceAccount:
description: Your description of the balance account from where the amount
is debited
id: BA00000000000000000000001
reference: Your reference for the balance account
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- balance: -10000
currency: EUR
received: 0
reserved: 0
category: bank
categoryData:
priority: regular
type: bank
counterparty:
transferInstrumentId: SE00000000000000000000001
creationDate: '2023-02-28T13:30:05+02:00'
description: Your user description of the transfer
direction: outgoing
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000001
mutations:
- currency: EUR
received: -10000
status: received
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000002
mutations:
- currency: EUR
received: 10000
reserved: -10000
status: authorised
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: EVJN00000000000000000000000003
mutations:
- balance: -10000
currency: EUR
received: 0
reserved: 10000
status: booked
transactionId: EVJN00000000000000000000000003EUR
type: accounting
valueDate: '2023-03-01T12:58:25+01:00'
id: 6JKRLZ8LOT47J7RY
reason: approved
reference: Your user reference for the transfer
referenceForBeneficiary: Your user reference for the beneficiary
sequenceNumber: 3
transactionRulesResult:
allHardBlockRulesPassed: true
status: booked
type: bankTransfer
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-03.internal-authorised:
summary: Authorized incoming internal transfer
description: Example webhook of an authorised incoming transfer
value:
data:
id: 2WT1N05XXY7P9XH9
type: internalTransfer
accountHolder:
description: Your description of the account holder of the target balance
account
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: 0
reserved: 1000
category: internal
creationDate: '2023-02-28T13:30:05+02:00'
description: Your description of the transfer
direction: incoming
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: 1000
status: received
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: -1000
reserved: 1000
status: authorised
type: accounting
reason: approved
reference: Your reference for the transfer
referenceForBeneficiary: Your-reference-for-the-recipient-of-the-transfer-request
sequenceNumber: 2
status: authorised
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-04.internal-booked:
summary: Booked incoming internal transfer
description: Example webhook of a booked incoming transfer
value:
data:
id: 2WT1N05XXY7P9XH9
type: internalTransfer
accountHolder:
description: Your description of the account holder of the target balance
account
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- balance: 1000
currency: EUR
received: 0
reserved: 0
category: internal
counterparty:
balanceAccountId: BA00000000000000000000001
creationDate: '2023-02-28T13:30:05+02:00'
description: Your description of the transfer
direction: incoming
events:
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: 1000
status: received
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: -1000
reserved: 1000
status: authorised
type: accounting
- bookingDate: '2023-02-28T13:30:18+02:00'
id: JDRF00000000000000000000000003
mutations:
- balance: 1000
currency: EUR
received: 0
reserved: -1000
status: booked
transactionId: FWKP42CL8224223D5KKJWD6FXS3VQCEUR
type: accounting
valueDate: '2023-02-28T13:30:18+02:00'
reason: approved
reference: Your reference for the transfer
referenceForBeneficiary: Your-reference-for-the-recipient-of-the-transfer-request
sequenceNumber: 3
status: booked
environment: test
timestamp: '2023-02-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-05.directDebit-booked:
summary: Business accounts - Successful external direct debit
description: Example webhook of a booked external direct debit transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- balance: -1000
currency: EUR
received: 0
reserved: 0
category: bank
categoryData:
type: bank
counterparty:
bankAccount:
accountHolder:
fullName: John Smith
type: unknown
accountIdentification:
iban: FR0000000000000000000000117
type: iban
creationDate: '2024-08-28T13:30:05+02:00'
directDebitInformation:
dateOfSignature: '2023-01-01T01:00:00+01:00'
dueDate: '2024-08-23T02:00:00+02:00'
mandateId: EBAClearing-MANDAT001
sequenceType: FRST
direction: incoming
events:
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: -1000
status: received
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: 1000
reserved: -1000
status: authorised
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000003
mutations:
- balance: -1000
currency: EUR
received: 0
reserved: 1000
status: booked
transactionId: JDRF00000000000000000000000MEUR
type: accounting
valueDate: '2024-08-28T14:00:00+02:00'
id: 2WT1N05XXY7P9XH9
paymentInstrument:
description: Your reference for the payment instrument
id: PI00000000000000000000001
reason: approved
reference: Your reference for the transfer
referenceForBeneficiary: The sender's reference for the beneficiary
sequenceNumber: 3
status: booked
transactionRulesResult:
allHardBlockRulesPassed: true
type: bankDirectDebit
environment: test
timestamp: '2024-08-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-06.directDebit-cancelled:
summary: Business accounts - Cancelled external direct debit
description: Example webhook of a cancelled external direct debit transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: -1000
category: bank
categoryData:
type: bank
counterparty:
bankAccount:
accountHolder:
fullName: John Smith
type: unknown
accountIdentification:
iban: FR0000000000000000000000117
type: iban
creationDate: '2024-08-28T13:30:05+02:00'
directDebitInformation:
dateOfSignature: '2023-01-01T01:00:00+01:00'
dueDate: '2024-08-23T02:00:00+02:00'
mandateId: EBAClearing-MANDAT001
sequenceType: FRST
direction: incoming
events:
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: -1000
status: received
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: 1000
reason: unknown
status: cancelled
type: accounting
id: 2WT1N05XXY7P9XH9
paymentInstrument:
description: Your reference for the payment instrument
id: PI00000000000000000000001
reason: approved
reference: Your reference for the transfer
referenceForBeneficiary: The sender's reference for the beneficiary
sequenceNumber: 2
status: refused
transactionRulesResult:
allHardBlockRulesPassed: true
type: bankDirectDebit
environment: test
timestamp: '2024-08-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-07.directDebit-failed:
summary: Business accounts - Failed external direct debit
description: Example webhook of a failed external direct debit transfer
value:
data:
accountHolder:
description: Your description of the account holder
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description of the target balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- currency: EUR
received: -1000
category: bank
categoryData:
type: bank
counterparty:
bankAccount:
accountHolder:
fullName: John Smith
type: unknown
accountIdentification:
iban: FR0000000000000000000000117
type: iban
creationDate: '2024-08-28T13:30:05+02:00'
directDebitInformation:
dateOfSignature: '2023-01-01T01:00:00+01:00'
dueDate: '2024-08-23T02:00:00+02:00'
mandateId: EBAClearing-MANDAT001
sequenceType: FRST
direction: incoming
events:
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: -1000
status: received
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: 1000
status: refused
type: accounting
id: 2WT1N05XXY7P9XH9
paymentInstrument:
description: Your reference for the payment instrument
id: PI00000000000000000000001
reason: unknown
reference: Your reference for the transfer
referenceForBeneficiary: The sender's reference for the beneficiary
sequenceNumber: 2
status: cancelled
transactionRulesResult:
allHardBlockRulesPassed: true
type: bankDirectDebit
environment: test
timestamp: '2024-08-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-08.internalDirectDebit-incoming-booked:
summary: Business accounts - Successful internal direct debit (incoming)
description: Example webhook of a booked incoming internal direct debit transfer
value:
data:
accountHolder:
id: AH00000000000000000000002
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description for the balance account
id: BA00000000000000000000002
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- balance: -1000
currency: EUR
received: 0
reserved: 0
category: internal
categoryData:
type: internal
counterparty:
balanceAccountId: BA00000000000000000LIABLE
creationDate: '2024-08-28T13:30:05+02:00'
direction: incoming
events:
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: -1000
status: received
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: 1000
reserved: -1000
status: authorised
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000003
mutations:
- balance: -1000
currency: EUR
received: 0
reserved: 1000
status: booked
transactionId: JDRF00000000000000000000000MEUR
type: accounting
valueDate: '2024-08-28T14:00:00+02:00'
id: 2WT1N05XXY7P9XH9
reason: approved
reference: Your reference for the transfer
sequenceNumber: 3
status: booked
type: internalDirectDebit
environment: test
timestamp: '2024-08-28T13:27:05+02:00'
type: balancePlatform.transfer.updated
post-balancePlatform.transfer.updated-09.internalDirectDebit-outgoing-booked:
summary: Business accounts - Successful internal direct debit (outgoing)
description: Example webhook of a booked outgoing internal direct debit transfer
value:
data:
accountHolder:
id: AH000000000000000000LIABLE
reference: Your reference for the account holder
amount:
currency: EUR
value: 1000
balanceAccount:
description: Your description for the balance account
id: BA000000000000000000LIABLE
balancePlatform: YOUR_BALANCE_PLATFORM
balances:
- balance: 1000
currency: EUR
received: 0
reserved: 0
category: internal
categoryData:
type: internal
counterparty:
balanceAccountId: BA00000000000000000000002
creationDate: '2024-08-28T13:30:05+02:00'
direction: outgoing
events:
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000001
mutations:
- currency: EUR
received: 1000
status: received
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000002
mutations:
- currency: EUR
received: -1000
reserved: 1000
status: authorised
type: accounting
- bookingDate: '2024-08-28T13:30:18+02:00'
id: JDRF00000000000000000000000003
mutations:
- balance: 1000
currency: EUR
received: 0
reserved: -1000
status: booked
transactionId: JDRF00000000000000000000000MEUR
type: accounting
valueDate: '2024-08-28T14:00:00+02:00'
id: 2WT1N05XXY7P9XH9
reason: approved
reference: Your reference for the transfer
sequenceNumber: 3
status: booked
type: internalDirectDebit
environment: test
timestamp: '2024-08-28T13:27:05+02:00'
type: balancePlatform.transfer.updated