openapi: 3.1.0 info: version: '1' x-publicVersion: true title: Notification webhooks description: "Adyen sends notifications through webhooks to inform your system about\ \ events that occur in the balance platform. These events include, for example,\ \ a card user making a payment, or a merchant starting a refund. \nWhen an event\ \ occurs, Adyen makes an HTTP POST request to a URL on your server and includes\ \ the details of the event in the request body.\n\nYou can use the 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." x-timestamp: '2022-09-19T22:19:02Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team url: https://www.adyen.help/hc/en-us/community/topics email: developer-experience@adyen.com x-groups: - Account holder and balance account - Payment Instrument - Authorisation, refund, or transfer requests - Fund movements - Reports tags: [] x-staticResponse: response.json webhooks: balancePlatform.accountHolder.created: post: tags: - Account holder and balance account summary: Account holder created description: Adyen sends this webhook when you successfully [create an account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/accountHolders). operationId: post-balancePlatform.accountHolder.created x-groupName: Account holder and balance account x-sortIndex: 5 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-accountHolder-created: $ref: '#/components/examples/post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created' schema: $ref: '#/components/schemas/AccountHolderNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-accountHolder-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.accountHolder.updated: post: tags: - Account holder and balance account summary: Account holder updated description: Adyen sends this webhook when you successfully [update an account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/accountHolders/{id}). operationId: post-balancePlatform.accountHolder.updated x-groupName: Account holder and balance account x-sortIndex: 5 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-accountHolder-updated: $ref: '#/components/examples/post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated' schema: $ref: '#/components/schemas/AccountHolderNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-accountHolder-updated: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.balanceAccount.created: post: tags: - Account holder and balance account summary: Balance account created description: Adyen sends this webhook when you successfully [create a balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts). operationId: post-balancePlatform.balanceAccount.created x-groupName: Account holder and balance account x-sortIndex: 5 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-balanceAccount-created: $ref: '#/components/examples/post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created' schema: $ref: '#/components/schemas/BalanceAccountNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-balanceAccount-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.balanceAccountSweep.created: post: tags: - Account holder and balance account summary: Balance account sweep created description: Adyen sends this webhook when you successfully [create a sweep](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts/{balanceAccountId}/sweeps). operationId: post-balancePlatform.balanceAccountSweep.created x-groupName: Account holder and balance account x-sortIndex: 6 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-sweep-created: $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created' schema: $ref: '#/components/schemas/SweepConfigurationNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-sweep-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.balanceAccountSweep.deleted: post: tags: - Account holder and balance account summary: Balance account sweep deleted description: Adyen sends this webhook when you successfully [delete a sweep](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/delete/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}). operationId: post-balancePlatform.balanceAccountSweep.deleted x-groupName: Account holder and balance account x-sortIndex: 6 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-sweep-deleted: $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted' schema: $ref: '#/components/schemas/SweepConfigurationNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-sweep-deleted: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.balanceAccountSweep.updated: post: tags: - Account holder and balance account summary: Balance account sweep updated description: Adyen sends this webhook when you successfully [update a sweep](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}). operationId: post-balancePlatform.balanceAccountSweep.updated x-groupName: Account holder and balance account x-sortIndex: 6 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-sweep-updated: $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated' schema: $ref: '#/components/schemas/SweepConfigurationNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-sweep-updated: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.incomingTransfer.created: post: tags: - Fund movements summary: Incoming transfer created description: 'Adyen sends this webhook when there are incoming funds due to a refund or a fund transfer. Use the `paymentId` to link to the original refund request or funds transfer request. Check the content of the webhook to differentiate the events. * For refunds, the webhook includes the payment instrument to which funds will be refunded. * For incoming fund transfers, the webhook only includes information about the balance account.' x-addedInVersion: '1' operationId: post-balancePlatform.incomingTransfer.created x-groupName: Fund movements x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-incomingTransfer-created: $ref: '#/components/examples/post-balancePlatform.incomingTransfer.created-balancePlatform-incomingTransfer-created' schema: $ref: '#/components/schemas/IncomingTransferNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-incomingTransfer-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.incomingTransfer.updated: post: tags: - Fund movements summary: Outgoing transfer updated description: "Adyen sends this webhook when funds were added to the balance\ \ account. This could be due to a refund or a funds transfer. Use the `data.id`\ \ to track the original incoming transfer resource in the `balancePlatform.incomingTransfer.created`\ \ webhook.\n\nThe `status` field indicates the event that triggered the webhook.\ \ \n\n* For refunds, the `status` is **Refunded**. \n\n* For incoming fund\ \ transfers, the `status` is **IncomingTransfer**." x-addedInVersion: '1' operationId: post-balancePlatform.incomingTransfer.updated x-groupName: Fund movements x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-incomingTransfer-updated: $ref: '#/components/examples/post-balancePlatform.incomingTransfer.updated-balancePlatform-incomingTransfer-updated' schema: $ref: '#/components/schemas/IncomingTransferNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-incomingTransfer-updated: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.outgoingTransfer.created: post: tags: - Fund movements summary: Outgoing transfer created description: "Adyen sends this webhook when funds were deducted from a balance\ \ account due to a capture or a funds transfer. Use the `paymentId` to link\ \ to the original payment authorisation or funds transfer request.\n\nThe\ \ `status` field indicates the event that triggered the webhook. \n\n* For\ \ captures, the `status` will be **Captured**. \n\n* For outgoing fund transfers,\ \ the `status` will be **OutgoingTransfer**." x-addedInVersion: '1' operationId: post-balancePlatform.outgoingTransfer.created x-groupName: Fund movements x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-outgoingTransfer-created: $ref: '#/components/examples/post-balancePlatform.outgoingTransfer.created-balancePlatform-outgoingTransfer-created' schema: $ref: '#/components/schemas/OutgoingTransferNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-outgoingTransfer-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.outgoingTransfer.updated: post: tags: - Fund movements summary: Outgoing transfer updated description: 'Adyen sends this webhook when there is updated information after funds have been deducted from a balance account. For example, if the fund transfer failed. Use the `data.id` to track the original outgoing transfer resource from the `balancePlatform.outgoingTransfer.created` webhook.' x-addedInVersion: '1' operationId: post-balancePlatform.outgoingTransfer.updated x-groupName: Fund movements x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-outgoingTransfer-updated: $ref: '#/components/examples/post-balancePlatform.outgoingTransfer.updated-balancePlatform-outgoingTransfer-updated' schema: $ref: '#/components/schemas/OutgoingTransferNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-outgoingTransfer-updated: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.payment.created: post: tags: - Authorisation, refund, or transfer requests summary: Payment authorisation, refund, or funds transfer initiated description: "Adyen sends this webhook when a payment authorisation, a refund,\ \ or a funds transfer has been initiated. This webhook only informs your server\ \ of requests. For the actual fund movements, you'll get the information from\ \ the subsequent outgoing or incoming transfer webhooks.\n\n To differentiate\ \ the requests, check the content of the webhook.\n\n* For payments, the webhook\ \ contains the authorisation result, information about the processing merchant,\ \ and shows a negative amount.\n\n * For refunds, the webhook contains to\ \ which payment instrument the funds will be refunded, and shows a positive\ \ amount.\n\n* For outgoing or incoming fund transfers, the webhook shows\ \ a positive or negative amount depending on the direction of the transfer,\ \ and only includes information about the balance account." x-addedInVersion: '1' operationId: post-balancePlatform.payment.created x-groupName: Authorisation, refund, or transfer requests x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-payment-created-authorized: $ref: '#/components/examples/post-balancePlatform.payment.created-balancePlatform-payment-created-authorized' balancePlatform-payment-created-funds-transfer: $ref: '#/components/examples/post-balancePlatform.payment.created-balancePlatform-payment-created-funds-transfer' balancePlatform-payment-created-refund-requested: $ref: '#/components/examples/post-balancePlatform.payment.created-balancePlatform-payment-created-refund-requested' balancePlatform-payment-created-rejected: $ref: '#/components/examples/post-balancePlatform.payment.created-balancePlatform-payment-created-rejected' schema: $ref: '#/components/schemas/PaymentNotificationRequest-2' responses: '200': content: application/json: examples: balancePlatform-payment-created-authorized: $ref: '#/components/examples/WebhookAck' balancePlatform-payment-created-funds-transfer: $ref: '#/components/examples/WebhookAck' balancePlatform-payment-created-refund-requested: $ref: '#/components/examples/WebhookAck' balancePlatform-payment-created-rejected: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.payment.updated: post: tags: - Authorisation, refund, or transfer requests summary: Payment authorisation expired or cancelled description: Adyen sends this webhook when a payment authorisation has expired or has been cancelled. Use the `data.id` to track the original payment authorisation from the `balancePlatform.payment.created` webhook. x-addedInVersion: '1' operationId: post-balancePlatform.payment.updated x-groupName: Authorisation, refund, or transfer requests x-sortIndex: 1 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-payment-updated-expired: $ref: '#/components/examples/post-balancePlatform.payment.updated-balancePlatform-payment-updated-expired' balancePlatform-payment-updated-partially-cancelled: $ref: '#/components/examples/post-balancePlatform.payment.updated-balancePlatform-payment-updated-partially-cancelled' balancePlatform-payment-updated-partially-expired: $ref: '#/components/examples/post-balancePlatform.payment.updated-balancePlatform-payment-updated-partially-expired' schema: $ref: '#/components/schemas/PaymentNotificationRequest-2' responses: '200': content: application/json: examples: balancePlatform-payment-updated-expired: $ref: '#/components/examples/WebhookAck' balancePlatform-payment-updated-partially-cancelled: $ref: '#/components/examples/WebhookAck' balancePlatform-payment-updated-partially-expired: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.paymentInstrument.created: post: tags: - Payment Instrument summary: Payment instrument created description: "Adyen sends this webhook when you successfully [create a payment\ \ instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments).\ \ \n>The notification does not include the card number when creating virtual\ \ cards. You can only get the card number in the POST response." operationId: post-balancePlatform.paymentInstrument.created x-groupName: Payment Instrument x-sortIndex: 3 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-paymentInstrument-created: $ref: '#/components/examples/post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created' schema: $ref: '#/components/schemas/PaymentNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-paymentInstrument-created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.paymentInstrument.updated: post: tags: - Payment Instrument summary: Payment instrument updated description: 'Adyen sends this webhook when you successfully [update a payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}). ' operationId: post-balancePlatform.paymentInstrument.updated x-groupName: Payment Instrument x-sortIndex: 3 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform-paymentInstrument-updated: $ref: '#/components/examples/post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated' schema: $ref: '#/components/schemas/PaymentNotificationRequest' responses: '200': content: application/json: examples: balancePlatform-paymentInstrument-updated: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. balancePlatform.report.created: post: tags: - Reports summary: Report generated description: 'Adyen sends this webhook after a report is generated and ready to be downloaded. The webhook contains the URL at which the report can be downloaded. Before you download reports, ask your Adyen contact for your report credentials. You must use your the credentials to authenticate your GET request.' operationId: post-balancePlatform.report.created x-groupName: Reports x-sortIndex: 7 security: - ApiKeyAuth: [] requestBody: content: application/json: examples: balancePlatform.report.created: $ref: '#/components/examples/post-balancePlatform.report.created-balancePlatform.report.created' schema: $ref: '#/components/schemas/ReportNotificationRequest' responses: '200': content: application/json: examples: balancePlatform.report.created: $ref: '#/components/examples/WebhookAck' schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. components: schemas: AccountHolder: properties: balancePlatform: description: The unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id) to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms. type: string capabilities: additionalProperties: $ref: '#/components/schemas/AccountHolderCapability' description: Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, **issueCard** for Issuing. The value is an object containing the settings for the capability. type: object contactDetails: description: Contact details of the account holder. $ref: '#/components/schemas/ContactDetails' description: description: Your description for the account holder, maximum 300 characters. maxLength: 300 type: string id: description: The unique identifier of the account holder. type: string legalEntityId: description: The unique identifier of the [legal entity](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/legalEntities__resParam_id) associated with the account holder. Adyen performs a verification process against the legal entity of the account holder. type: string primaryBalanceAccount: description: The ID of the account holder's primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request. type: string reference: description: Your reference for the account holder, maximum 150 characters. maxLength: 150 type: string status: description: "The status of the account holder.\n\nPossible values: \n\n\ \ * **Active**: The account holder is active. This is the default status\ \ when creating an account holder. \n\n * **Inactive**: The account holder\ \ is temporarily inactive due to missing KYC details. You can set the\ \ account back to active by providing the missing KYC details. \n\n *\ \ **Suspended**: The account holder is permanently deactivated by Adyen.\ \ This action cannot be undone. \n\n* **Closed**: The account holder is\ \ permanently deactivated by you. This action cannot be undone." enum: - Active - Closed - Inactive - Suspended type: string timeZone: description: 'The [time zone](https://www.iana.org/time-zones) of the account holder. For example, **Europe/Amsterdam**. If not set, the time zone of the balance account will be used. For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).' type: string required: - legalEntityId - id AccountHolderCapability: properties: allowed: description: Indicates whether the capability is allowed. Adyen sets this to **true** if the verification is successful and the account holder is permitted to use the capability. type: boolean allowedLevel: description: 'The capability level that is allowed for the account holder. Possible values: **notApplicable**, **low**, **medium**, **high**.' enum: - high - low - medium - notApplicable type: string allowedSettings: description: A JSON object containing the settings that are allowed for the account holder. $ref: '#/components/schemas/JSONObject' enabled: description: Indicates whether the capability is enabled. If **false**, the capability is temporarily disabled for the account holder. type: boolean problems: description: Contains verification errors and the actions that you can take to resolve them. items: $ref: '#/components/schemas/CapabilityProblem' type: array requested: description: Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the `allowed` field. type: boolean requestedLevel: description: 'The requested level of the capability. Some capabilities, such as those used in [card issuing](https://docs.adyen.com/issuing/add-capabilities#capability-levels), have different levels. Levels increase the capability, but also require additional checks and increased monitoring. Possible values: **notApplicable**, **low**, **medium**, **high**.' enum: - high - low - medium - notApplicable type: string requestedSettings: description: A JSON object containing the settings that were requested for the account holder. $ref: '#/components/schemas/JSONObject' verificationStatus: description: 'The status of the verification checks for the capability. Possible values: * **pending**: Adyen is running the verification. * **invalid**: The verification failed. Check if the `errors` array contains more information. * **valid**: The verification has been successfully completed. * **rejected**: Adyen has verified the information, but found reasons to not allow the capability. ' enum: - invalid - pending - rejected - valid type: string AccountHolderNotificationData: properties: accountHolder: description: Contains information about the account holder resource that triggered the event. $ref: '#/components/schemas/AccountHolder' balancePlatform: description: Unique identifier of the balance platform. type: string AccountHolderNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/AccountHolderNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.accountHolder.updated - balancePlatform.accountHolder.created type: string required: - environment - type - data Address: properties: city: description: 'The name of the city. Maximum length: 3000 characters.' maxLength: 3000 type: string country: description: 'The two-character ISO-3166-1 alpha-2 country code. For example, **US**. > If you don''t know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.' type: string houseNumberOrName: description: 'The number or name of the house. Maximum length: 3000 characters.' maxLength: 3000 type: string postalCode: description: A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries. type: string stateOrProvince: description: 'The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.' type: string street: description: 'The name of the street. Maximum length: 3000 characters. > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.' maxLength: 3000 type: string required: - street - houseNumberOrName - city - postalCode - country 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 Authentication: properties: email: description: The email address where the one-time password (OTP) is sent. type: string password: description: "The password used for 3D Secure password-based authentication.\ \ The value must be between 1 to 30 characters and must only contain the\ \ following supported characters.\n\n* Characters between **a-z**, **A-Z**,\ \ and **0-9**\n\n* Special characters: **\xE4\xF6\xFC\xDF\xC4\xD6\xDC\ +-*/\xE7%()=?!~#'\",;:$&\xE0\xF9\xF2\xE2\xF4\xFB\xE1\xFA\xF3**" maxLength: 30 minLength: 1 type: string phone: description: 'The phone number where the one-time password (OTP) is sent. This object must have: * A `type` set to **mobile**. * A `number` with a valid country code. * A `number` with more than 4 digits, excluding the country code. >Make sure to verify that the card user owns the phone number.' $ref: '#/components/schemas/Phone' Balance: properties: available: description: The remaining amount available for spending. format: int64 type: integer balance: description: The total amount in the balance. format: int64 type: integer currency: description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) of the balance. type: string reserved: description: The amount reserved for payments that have been authorised, but have not been captured yet. format: int64 type: integer required: - currency - balance - reserved - available BalanceAccount: properties: accountHolderId: description: The unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/accountHolders__resParam_id) associated with the balance account. type: string balances: description: List of balances with the amount and currency. items: $ref: '#/components/schemas/Balance' type: array defaultCurrencyCode: description: 'The default three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) of the balance account. The default value is **EUR**.' type: string description: description: A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder. maxLength: 300 type: string id: description: The unique identifier of the balance account. type: string paymentInstruments: description: List of [payment instruments](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments) associated with the balance account. items: $ref: '#/components/schemas/PaymentInstrumentReference' type: array reference: description: Your reference for the balance account, maximum 150 characters. maxLength: 150 type: string status: description: "The status of the balance account, set to **Active** by default.\ \ \n" enum: - Active - Closed - Inactive - Suspended type: string sweepConfigurations: additionalProperties: $ref: '#/components/schemas/SweepConfiguration' description: 'Contains key-value pairs that specify configurations for balance sweeps per currency code. A sweep pulls in or pushes out funds based on a defined schedule, amount, and a source (for pulling funds) or a destination (for pushing funds). The key must be a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) in uppercase. For example, **EUR**. The value must be an object containing the sweep configuration.' type: object timeZone: description: 'The [time zone](https://www.iana.org/time-zones) of the balance account. For example, **Europe/Amsterdam**. If not set, the time zone of the account holder will be used. For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).' type: string required: - accountHolderId - id BalanceAccountNotificationData: properties: balanceAccount: $ref: '#/components/schemas/BalanceAccount' balancePlatform: description: Unique identifier of the balance platform. type: string BalanceAccountNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/BalanceAccountNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.balanceAccount.updated - balancePlatform.balanceAccount.created type: string required: - environment - type - data BalancePlatformNotificationResponse: properties: notificationResponse: description: Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). type: string BankAccount: properties: iban: description: The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN). type: string required: - iban BankAccountInfo: properties: address: description: The address of the bank account owner. $ref: '#/components/schemas/Address' iban: description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard. type: string ownerName: description: The name of the bank account owner. $ref: '#/components/schemas/Name-2' BulkAddress: properties: city: description: The name of the city. type: string company: description: The name of the company. type: string country: description: The two-character ISO-3166-1 alpha-2 country code. For example, **US**. type: string email: description: The email address. type: string houseNumberOrName: description: The house number or name. type: string mobile: description: The full telephone number. type: string postalCode: description: 'The postal code. Maximum length: * 5 digits for addresses in the US. * 10 characters for all other countries.' type: string stateOrProvince: description: 'The two-letter ISO 3166-2 state or province code. Maximum length: 2 characters for addresses in the US.' type: string street: description: The streetname of the house. type: string required: - country CapabilityProblem: properties: entity: description: Contains the type of the entity and the corresponding ID. $ref: '#/components/schemas/CapabilityProblemEntity' verificationErrors: description: Contains information about the verification error. items: $ref: '#/components/schemas/VerificationError' type: array CapabilityProblemEntity: properties: id: description: The ID of the entity. type: string owner: description: Contains details about the owner of the entity that has an error. $ref: '#/components/schemas/CapabilityProblemEntity-recursive' type: description: "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**,\ \ **Document**." enum: - BankAccount - Document - LegalEntity type: string CapabilityProblemEntity-recursive: properties: id: description: The ID of the entity. type: string type: description: "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**,\ \ **Document**." enum: - BankAccount - Document - LegalEntity type: string required: [] Card: properties: authentication: description: Contains the card user's password and mobile phone number. This is required when you issue cards that can be used to make online payments within the EEA and the UK, or can be added to digital wallets. Refer to [3D Secure and digital wallets](https://docs.adyen.com/issuing/3d-secure-and-wallets) for more information. $ref: '#/components/schemas/Authentication' bin: description: The bank identification number (BIN) of the card number. type: string brand: description: 'The brand of the payment instrument. Possible values: **visa**, **mc**.' type: string brandVariant: description: 'The brand variant of the payment instrument. >Contact your Adyen Implementation Manager to get the values that are relevant to your integration. Examples: **visadebit**, **mcprepaid**.' type: string cardholderName: description: "The name of the cardholder.\n Maximum length: 26 characters." maxLength: 26 type: string configuration: description: "Settings required when creating a physical card. \n\nReach\ \ out to your Adyen contact to get the values that you can send in this\ \ object." $ref: '#/components/schemas/CardConfiguration' cvc: description: 'The CVC2 value of the card. > The CVC2 is not sent by default. This is only returned in the `POST` response for single-use virtual cards.' type: string deliveryContact: description: The delivery contact (name and address) for physical card delivery. $ref: '#/components/schemas/Contact' expiration: description: The expiration date of the card. $ref: '#/components/schemas/Expiry' formFactor: description: 'The form factor of the card. Possible values: **virtual**, **physical**.' enum: - physical - unknown - virtual type: string lastFour: description: Last last four digits of the card number. type: string number: description: 'The primary account number (PAN) of the card. > The PAN is masked by default and returned only for single-use virtual cards.' type: string required: - formFactor - cardholderName - brand - brandVariant - number CardConfiguration: properties: activation: description: Overrides the activation label design ID defined in the `configurationProfileId`. The activation label is attached to the card and contains the activation instructions. type: string activationUrl: description: "Your app's URL, if you want to activate cards through your\ \ app. For example, **my-app://ref1236a7d**. A QR code is created based\ \ on this URL, and is included in the carrier. Before you use this field,\ \ reach out to your Adyen contact to set up the QR code process. \n\n\ Maximum length: 255 characters." maxLength: 255 type: string bulkAddress: description: Overrides the shipment bulk address defined in the `configurationProfileId`. $ref: '#/components/schemas/BulkAddress' cardImageId: description: The ID of the card image. This is the image that will be printed on the full front of the card. type: string carrier: description: Overrides the carrier design ID defined in the `configurationProfileId`. The carrier is the letter or packaging to which the card is attached. type: string carrierImageId: description: The ID of the carrier image. This is the image that will printed on the letter to which the card is attached. type: string configurationProfileId: description: 'The ID of the card configuration profile that contains the settings of the card. For example, the envelope and PIN mailer designs or the logistics company handling the shipment. All the settings in the profile are applied to the card, unless you provide other fields to override them. For example, send the `shipmentMethod` to override the logistics company defined in the card configuration profile.' type: string currency: description: The three-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the card. For example, **EUR**. type: string envelope: description: 'Overrides the envelope design ID defined in the `configurationProfileId`. ' type: string insert: description: Overrides the insert design ID defined in the `configurationProfileId`. An insert is any additional material, such as marketing materials, that are shipped together with the card. type: string language: description: The two-letter [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code of the card. For example, **en**. type: string logoImageId: description: The ID of the logo image. This is the image that will be printed on the partial front of the card, such as a logo on the upper right corner. type: string pinMailer: description: Overrides the PIN mailer design ID defined in the `configurationProfileId`. The PIN mailer is the letter on which the PIN is printed. type: string shipmentMethod: description: Overrides the logistics company defined in the `configurationProfileId`. type: string required: - configurationProfileId Contact: properties: address: description: The address of the contact. $ref: '#/components/schemas/Address' email: description: The e-mail address of the contact. type: string fullPhoneNumber: description: 'The phone number of the contact provided as a single string. It will be handled as a landline phone. **Examples:** "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"' type: string name: description: The name of the contact. $ref: '#/components/schemas/Name' personalData: description: Personal data of the contact. $ref: '#/components/schemas/PersonalData' phoneNumber: description: The phone number of the contact. $ref: '#/components/schemas/PhoneNumber' webAddress: description: The URL of the website of the contact. type: string ContactDetails: properties: address: description: The address of the account holder. $ref: '#/components/schemas/Address' email: description: The email address of the account holder. type: string phone: description: The phone number of the account holder. $ref: '#/components/schemas/Phone' webAddress: description: The URL of the account holder's website. type: string required: - email - phone - address Counterparty: properties: balanceAccountId: description: Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). type: string bankAccount: description: Contains information about the bank account. $ref: '#/components/schemas/BankAccountInfo' merchant: description: Contains information about the merchant. $ref: '#/components/schemas/MerchantData' transferInstrumentId: description: Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/transferInstruments__resParam_id). type: string CronSweepSchedule: additionalProperties: false properties: cronExpression: description: 'A [cron expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that is used to set the sweep schedule. The schedule uses the time zone of the balance account. For example, **30 17 * * MON** schedules a sweep every Monday at 17:30. The expression must have five values separated by a single space in the following order: * Minute: **0-59** * Hour: **0-23** * Day of the month: **1-31** * Month: **1-12** or **JAN-DEC** * Day of the week: **0-7** (0 and 7 are Sunday) or **MON-SUN**. The following non-standard characters are supported: *****, **L**, **#**, **W** and **/**. See [crontab guru](https://crontab.guru/) for more examples.' type: string type: description: 'The schedule type. Possible values: * **cron**: push out funds based on a cron expression. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`.' enum: - daily - weekly - monthly - balance - cron type: string required: - cronExpression Expiry: properties: month: description: The month in which the card will expire. type: string year: description: The year in which the card will expire. type: string IncomingTransferNotificationData: properties: accountHolder: description: Contains information about the account holder. $ref: '#/components/schemas/ResourceReference' amount: description: "The amount converted to the balance account's currency, in\ \ case the original transaction currency is different.\n\n* A _positive_\ \ value means the amount is added to the balance account.\n\n * A _negative_\ \ value means the amount is deducted from the balance account. " $ref: '#/components/schemas/Amount' balanceAccount: description: Contains information about the balance account. $ref: '#/components/schemas/ResourceReference' balancePlatform: description: Unique identifier of the balance platform. type: string counterparty: description: Contains information about the other party in the transaction. $ref: '#/components/schemas/Counterparty' creationDate: description: 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: description: Your description for the transfer. If you send a description longer than 140 characters, the text is truncated. type: string id: description: The ID of the resource. type: string modification: description: Contains the amount and type of modification that triggered the notification. For example, this object contains the amount of a partial cancellation or partial expired authorisation. $ref: '#/components/schemas/NotificationModificationData' originalAmount: description: "The amount in the original currency of the transaction.\n\n\ * A _positive_ value means the amount is added to the balance account.\n\ \n * A _negative_ value means the amount is deducted from the balance\ \ account. " $ref: '#/components/schemas/Amount' paymentId: description: The ID of the original payment authorisation, refund, or funds transfer request. Use this to trace the original request from the `balancePlatform.payment.created` webhook. type: string paymentInstrument: description: Contains information about the payment instrument. $ref: '#/components/schemas/ResourceReference' platformPayment: description: Contains information about the related platform payment. $ref: '#/components/schemas/PlatformPayment' reference: description: An Adyen-generated unique reference for the transfer. maxLength: 80 type: string referenceForBeneficiary: description: "The reference sent to or received from the counterparty.\n\ \n* For outgoing funds, this is the [`referenceForBeneficiary`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__resParam_referenceForBeneficiary)\ \ from the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ request.\n\n * For incoming funds, this is the reference from the sender." maxLength: 80 type: string status: description: "The event status. The possible values depend on the `type`.\n\ \n* **Authorised**, **Refused**, or **Error** for type `balancePlatform.payment.created`\n\ \n * **Expired** or **Cancelled** for type `balancePlatform.payment.updated`\n\ \n* **PendingIncomingTransfer** for type `balancePlatform.incomingTransfer.created`\ \ \n\n* **Refunded** or **IncomingTransfer** for type `balancePlatform.incomingTransfer.updated`\n\ \n * **Captured** or **OutgoingTransfer** for type `balancePlatform.outgoingTransfer.created`\n\ \n* **TransferConfirmed**, **TransferSentOut**, or **TransferFailed**\ \ for type `balancePlatform.outgoingTransfer.updated`\n\n " type: string valueDate: description: Indicates the expected settlement date of this transaction, in ISO 8601 extended format. For example, **2021-08-17T15:34:37+02:00**. format: date-time type: string required: - counterparty IncomingTransferNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/IncomingTransferNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.incomingTransfer.updated - balancePlatform.incomingTransfer.created type: string required: - environment - type - data JSONObject: properties: paths: items: $ref: '#/components/schemas/JSONPath' type: array rootPath: $ref: '#/components/schemas/JSONPath' JSONPath: properties: content: items: type: string type: array MerchantData: properties: mcc: description: The merchant category code. type: string merchantId: description: The merchant identifier. type: string nameLocation: description: Contains the merchant's name and location. $ref: '#/components/schemas/NameLocation' postalCode: description: The merchant postal code. type: string Name: properties: firstName: description: The first name. type: string lastName: description: The last name. type: string required: - firstName - lastName Name-2: properties: firstName: description: The first name. type: string fullName: description: The full name. type: string infix: description: The infix in the name, if any. type: string lastName: description: The last name. type: string NameLocation: 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 NotificationModificationData: properties: amount: description: "The amount of the modification converted to the balance account's\ \ currency, in case the original transaction currency is different. For\ \ example, if a part of an authorised amount was cancelled, the value\ \ shows the amount that was cancelled.\n\n * A _positive_ value means\ \ the amount is added to the balance account.\n\n * A _negative_ value\ \ means the amount is deducted from the balance account. " $ref: '#/components/schemas/Amount' type: description: 'The type of modification. Possible values: **Authorised**, **Cancelled**, **Captured**, **Error**, **Expired**, **OutgoingTransfer**, **PendingIncomingTransfer**, **PendingRefund**, **IncomingTransfer**, **Refunded**, **Refused**.' type: string OutgoingTransferNotificationData: properties: accountHolder: description: Contains information about the account holder. $ref: '#/components/schemas/ResourceReference' amount: description: "The amount converted to the balance account's currency, in\ \ case the original transaction currency is different.\n\n* A _positive_\ \ value means the amount is added to the balance account.\n\n * A _negative_\ \ value means the amount is deducted from the balance account. " $ref: '#/components/schemas/Amount' balanceAccount: description: Contains information about the balance account. $ref: '#/components/schemas/ResourceReference' balancePlatform: description: Unique identifier of the balance platform. type: string counterparty: description: Contains information about the other party in the transaction. $ref: '#/components/schemas/Counterparty' creationDate: description: 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: description: Your description for the transfer. If you send a description longer than 140 characters, the text is truncated. type: string id: description: The ID of the resource. type: string merchantData: description: Contains information about the merchant that processed the payment. This object is only included for payment authorisation requests and captures. $ref: '#/components/schemas/MerchantData' modification: description: Contains the amount and type of modification that triggered the notification. For example, this object contains the amount of a partial cancellation or partial expired authorisation. $ref: '#/components/schemas/NotificationModificationData' originalAmount: description: "The amount in the original currency of the transaction.\n\n\ * A _positive_ value means the amount is added to the balance account.\n\ \n * A _negative_ value means the amount is deducted from the balance\ \ account. " $ref: '#/components/schemas/Amount' paymentId: description: The ID of the original payment authorisation, refund, or funds transfer request. Use this to trace the original request from the `balancePlatform.payment.created` webhook. type: string paymentInstrument: description: Contains information about the payment instrument. $ref: '#/components/schemas/ResourceReference' platformPayment: description: Contains information about the related platform payment. $ref: '#/components/schemas/PlatformPayment' processingType: description: Contains information about how the payment was processed. For example, **ecommerce** for online or **pos** for point-of-sale payments. type: string purposeCode: description: "Indicates the purpose of the outgoing transfer. Adyen sets\ \ this to:\n\n* **payoutManual** when the transfer was triggered by a\ \ one-off payout using the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ endpoint.\n\n * **payoutSweep** when the transfer was triggered by a\ \ scheduled payout using [`sweepConfigurations`](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_sweepConfigurations)." type: string reference: description: The [`reference`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__reqParam_reference) from the `/transfers` request. If you haven't provided any, Adyen generates a unique reference. maxLength: 80 type: string referenceForBeneficiary: description: "The reference sent to or received from the counterparty.\n\ \n* For outgoing funds, this is the [`referenceForBeneficiary`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__resParam_referenceForBeneficiary)\ \ from the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ request.\n\n * For incoming funds, this is the reference from the sender." maxLength: 80 type: string relayedAuthorisationData: description: If you're using [relayed authorisation](https://docs.adyen.com/issuing/processing-payments-for-cards#relayed-authorisation), this object contains information from the relayed authorisation response from your server. $ref: '#/components/schemas/RelayedAuthorisationData' status: description: "The event status. The possible values depend on the `type`.\n\ \n* **Authorised**, **Refused**, or **Error** for type `balancePlatform.payment.created`\n\ \n * **Expired** or **Cancelled** for type `balancePlatform.payment.updated`\n\ \n* **PendingIncomingTransfer** for type `balancePlatform.incomingTransfer.created`\ \ \n\n* **Refunded** or **IncomingTransfer** for type `balancePlatform.incomingTransfer.updated`\n\ \n * **Captured** or **OutgoingTransfer** for type `balancePlatform.outgoingTransfer.created`\n\ \n* **TransferConfirmed**, **TransferSentOut**, or **TransferFailed**\ \ for type `balancePlatform.outgoingTransfer.updated`\n\n " type: string transactionRulesResult: description: Contains results from the evaluation of [transaction rules](https://docs.adyen.com/issuing/transaction-rules). $ref: '#/components/schemas/TransactionRulesResult' valueDate: description: Indicates the expected settlement date of this transaction, in ISO 8601 extended format. For example, **2021-08-17T15:34:37+02:00**. format: date-time type: string required: - counterparty OutgoingTransferNotificationRequest: properties: data: description: Contains details about the event. $ref: '#/components/schemas/OutgoingTransferNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.outgoingTransfer.created - balancePlatform.outgoingTransfer.updated type: string required: - environment - type - data PaymentInstrument: properties: balanceAccountId: description: The unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/balanceAccounts__resParam_id) associated with the payment instrument. type: string bankAccount: description: Contains the business account details. Returned when you create a payment instrument with `type` **bankAccount**. $ref: '#/components/schemas/BankAccount' card: description: Contains information about the card payment instrument. Returned when you create a payment instrument with `type` **card**. $ref: '#/components/schemas/Card' description: description: Your description for the payment instrument, maximum 300 characters. maxLength: 300 type: string id: description: The unique identifier of the payment instrument. type: string issuingCountryCode: description: The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code where the payment instrument is issued. For example, **NL** or **US**. type: string paymentInstrumentGroupId: description: The unique identifier of the [payment instrument group](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/paymentInstrumentGroups__resParam_id) to which the payment instrument belongs. type: string reference: description: Your reference for the payment instrument, maximum 150 characters. maxLength: 150 type: string status: x-enum: - description: The payment instrument has been requested. This state is applicable when creating physical cards. value: Requested - description: The payment instrument is active and can be used to make payments. value: Active - description: The payment instrument is inactive and cannot be used to make payments. value: Inactive - description: The payment instrument is temporarily suspended and cannot be used to make payments. value: Suspended - description: The payment instrument is permanently closed. This action cannot be undone. value: Closed - description: The payment instrument is suspended. Either because it was stolen or lost. value: blocked - description: The payment instrument is permanently closed. This action cannot be undone. value: discarded description: "The status of the payment instrument. If a status is not specified\ \ when creating a payment instrument, it is set to **Active** by default.\ \ However, there can be exceptions for cards based on the `card.formFactor`\ \ and the `issuingCountryCode`. For example, when issuing physical cards\ \ in the US, the default status is **Requested**.\n\nPossible values:\ \ \n\n * **Active**: The payment instrument is active and can be used\ \ to make payments. \n\n * **Requested**: The payment instrument has been\ \ requested. This state is applicable for physical cards. \n\n* **Inactive**:\ \ The payment instrument is inactive and cannot be used to make payments.\ \ \n\n * **Suspended**: The payment instrument is temporarily suspended\ \ and cannot be used to make payments. \n\n * **Closed**: The payment\ \ instrument is permanently closed. This action cannot be undone. \n\n\ * **Stolen** \n\n * **Lost**\n\n " enum: - Active - Closed - Inactive - Lost - Requested - Stolen - Suspended - blocked - discarded type: string type: description: 'Type of payment instrument. Possible value: **card**, **bankAccount**. ' enum: - bankAccount - card type: string required: - balanceAccountId - issuingCountryCode - type - id PaymentInstrumentNotificationData: properties: balancePlatform: description: Unique identifier of the balance platform. type: string paymentInstrument: description: Contains information about the payment instrument resource that triggered the event. $ref: '#/components/schemas/PaymentInstrument' PaymentInstrumentReference: properties: id: description: The unique identifier of the payment instrument. type: string required: - id PaymentNotificationData: properties: accountHolder: description: Contains information about the account holder. $ref: '#/components/schemas/ResourceReference' amount: description: "The amount converted to the balance account's currency, in\ \ case the original transaction currency is different.\n\n* A _positive_\ \ value means the amount is added to the balance account.\n\n * A _negative_\ \ value means the amount is deducted from the balance account. " $ref: '#/components/schemas/Amount' authCode: description: The authorisation code for the payment. type: string balanceAccount: description: Contains information about the balance account. $ref: '#/components/schemas/ResourceReference' balancePlatform: description: Unique identifier of the balance platform. type: string creationDate: description: 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: description: Your description for the transfer. If you send a description longer than 140 characters, the text is truncated. type: string id: description: The ID of the resource. type: string merchantData: description: Contains information about the merchant that processed the payment. This object is only included for payment authorisation requests and captures. $ref: '#/components/schemas/MerchantData' modification: description: Contains the amount and type of modification that triggered the notification. For example, this object contains the amount of a partial cancellation or partial expired authorisation. $ref: '#/components/schemas/NotificationModificationData' originalAmount: description: "The amount in the original currency of the transaction.\n\n\ * A _positive_ value means the amount is added to the balance account.\n\ \n * A _negative_ value means the amount is deducted from the balance\ \ account. " $ref: '#/components/schemas/Amount' paymentInstrument: description: Contains information about the payment instrument. $ref: '#/components/schemas/ResourceReference' platformPayment: description: Contains information about the related platform payment. $ref: '#/components/schemas/PlatformPayment' processingType: description: Contains information about how the payment was processed. For example, **ecommerce** for online or **pos** for point-of-sale payments. type: string reference: description: The [`reference`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__reqParam_reference) from the `/transfers` request. If you haven't provided any, Adyen generates a unique reference. maxLength: 80 type: string referenceForBeneficiary: description: "The reference sent to or received from the counterparty.\n\ \n* For outgoing funds, this is the [`referenceForBeneficiary`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__resParam_referenceForBeneficiary)\ \ from the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ request.\n\n * For incoming funds, this is the reference from the sender." maxLength: 80 type: string relayedAuthorisationData: description: If you're using [relayed authorisation](https://docs.adyen.com/issuing/processing-payments-for-cards#relayed-authorisation), this object contains information from the relayed authorisation response from your server. $ref: '#/components/schemas/RelayedAuthorisationData' status: description: "The event status. The possible values depend on the `type`.\n\ \n* **Authorised**, **Refused**, or **Error** for type `balancePlatform.payment.created`\n\ \n * **Expired** or **Cancelled** for type `balancePlatform.payment.updated`\n\ \n* **PendingIncomingTransfer** for type `balancePlatform.incomingTransfer.created`\ \ \n\n* **Refunded** or **IncomingTransfer** for type `balancePlatform.incomingTransfer.updated`\n\ \n * **Captured** or **OutgoingTransfer** for type `balancePlatform.outgoingTransfer.created`\n\ \n* **TransferConfirmed**, **TransferSentOut**, or **TransferFailed**\ \ for type `balancePlatform.outgoingTransfer.updated`\n\n " type: string transactionRulesResult: description: Contains results from the evaluation of [transaction rules](https://docs.adyen.com/issuing/transaction-rules). $ref: '#/components/schemas/TransactionRulesResult' validationResult: description: Array of checks that Adyen performed to validate the payment and the result of each. items: $ref: '#/components/schemas/ValidationResult' type: array PaymentNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/PaymentInstrumentNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.paymentInstrument.created - balancePlatform.paymentInstrument.updated type: string required: - environment - type - data PaymentNotificationRequest-2: properties: data: description: Contains event details. $ref: '#/components/schemas/PaymentNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.payment.created - balancePlatform.payment.updated type: string required: - environment - type - data PersonalData: properties: dateOfBirth: description: 'The date of birth of the person. The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).' type: string idNumber: description: An ID number of the person. type: string nationality: description: 'The nationality of the person represented by a two-character country code. >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. ''NL'').' maxLength: 2 minLength: 2 type: string Phone: properties: number: description: "The full phone number provided as a single string. \nFor example,\ \ **\"0031 6 11 22 33 44\"**, **\"+316/1122-3344\"**, \n\n or **\"(0031)\ \ 611223344\"**." type: string type: description: "Type of phone number.\nPossible values: \n**Landline**, **Mobile**.\n" enum: - Landline - Mobile type: string required: - number - type PhoneNumber: properties: phoneCountryCode: description: 'The two-character ISO-3166-1 alpha-2 country code of the phone number. For example, **US** or **NL**.' type: string phoneNumber: description: 'The phone number. The inclusion of the phone number country code is not necessary.' type: string phoneType: description: 'The type of the phone number. Possible values: **Landline**, **Mobile**, **SIP**, **Fax**.' enum: - Fax - Landline - Mobile - SIP type: string required: - phoneCountryCode - phoneNumber PlatformPayment: properties: account: description: The account given in the related split. type: string description: description: The description of the related split. type: string modificationMerchantReference: description: The merchant reference of the modification. type: string modificationPspReference: description: The pspReference of the modification. type: string paymentMerchantReference: description: The merchant reference of the payment. type: string paymentPspReference: description: The pspReference of the payment. type: string reference: description: The reference of the related split. type: string type: description: The type of the related split. enum: - BalanceAccount - Commission - Default - PaymentFee - VAT type: string RelayedAuthorisationData: properties: metadata: additionalProperties: type: string description: The `metadata` object from the relayed authorisation response from your server. type: object reference: description: The `reference` from the relayed authorisation response from your server. type: string status: description: The value can be **Authorised** or **Refused**, based on the `authorisationDecision.status` in the relayed authorisation response from your server. type: string RemediatingAction: properties: code: description: The remediating action code. type: string message: description: A description of how you can resolve the verification error. type: string ReportNotificationData: properties: accountHolder: description: The account holder related to the report. $ref: '#/components/schemas/ResourceReference' balanceAccount: description: The balance account related to the report. $ref: '#/components/schemas/ResourceReference' balancePlatform: description: Unique identifier of the balance platform. type: string creationDate: description: 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 downloadUrl: description: The URL at which you can download the report. To download, you must authenticate your GET request with your [API credentials](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/overview). type: string fileName: description: The filename of the report. type: string reportType: description: Type of report. type: string required: - fileName - reportType - downloadUrl ReportNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/ReportNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.report.created type: string required: - environment - type - data Resource: properties: balancePlatform: description: Unique identifier of the balance platform. type: string creationDate: description: 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 ResourceReference: properties: description: description: The description of the resource. type: string id: description: The unique identifier of the resource. type: string reference: description: The reference of the resource. type: string SweepConfiguration: properties: balanceAccountId: description: "The unique identifier of the destination or source [balance\ \ account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).\n\ \n You can only use this for periodic sweep schedules such as `schedule.type`\ \ **daily** or **monthly**." type: string id: description: The unique identifier of the sweep. type: string merchantAccount: description: The merchant account that will be the source of funds. You can only use this if you are processing payments with Adyen. This can only be used for sweeps of `type` **pull** and `schedule.type` **balance**. type: string schedule: description: The schedule when the `triggerAmount` is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account. oneOf: - $ref: '#/components/schemas/CronSweepSchedule' - $ref: '#/components/schemas/SweepSchedule' status: x-enum: - description: The sweep is enabled and funds will be pulled in or pushed out based on the defined configuration value: active - description: The sweep is disabled and cannot be triggered. value: inactive description: "The status of the sweep. If not provided, by default, this\ \ is set to **active**.\n\nPossible values: \n\n * **active**: the sweep\ \ is enabled and funds will be pulled in or pushed out based on the defined\ \ configuration. \n\n * **inactive**: the sweep is disabled and cannot\ \ be triggered. \n\n" enum: - active - inactive type: string sweepAmount: description: The amount that must be pushed out or pulled in. You can configure either `sweepAmount` or `targetAmount`, not both. $ref: '#/components/schemas/Amount' targetAmount: description: The amount that must be available in the balance account after the sweep. You can configure either `sweepAmount` or `targetAmount`, not both. $ref: '#/components/schemas/Amount' transferInstrumentId: description: 'The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/transferInstruments__resParam_id). You can also use this in combination with a `merchantAccount` and a `type` **pull** to start a direct debit request from the source transfer instrument. To use this feature, reach out to your Adyen contact.' type: string triggerAmount: description: 'The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The `triggerAmount` is evaluated according to the specified `schedule.type`. * For `type` **pull**, if the balance is less than or equal to the `triggerAmount`, funds are pulled in to the balance account. * For `type` **push**, if the balance is more than or equal to the `triggerAmount`, funds are pushed out of the balance account.' $ref: '#/components/schemas/Amount' type: default: push description: "The direction of sweep, whether pushing out or pulling in\ \ funds to the balance account. If not provided, by default, this is set\ \ to **push**.\n\nPossible values:\n\n * **push**: _push out funds_ to\ \ a destination balance account or transfer instrument.\n\n * **pull**:\ \ _pull in funds_ from a source merchant account, transfer instrument,\ \ or balance account." enum: - pull - push type: string required: - id - schedule SweepConfigurationNotificationData: properties: accountId: description: The unique identifier of the balance account for which the sweep was configured. type: string balancePlatform: description: Unique identifier of the balance platform. type: string sweep: description: Contains information about the sweep resource that triggered the event. $ref: '#/components/schemas/SweepConfigurationV2' SweepConfigurationNotificationRequest: properties: data: description: Contains event details. $ref: '#/components/schemas/SweepConfigurationNotificationData' environment: description: 'The environment from which the webhook originated. Possible values: **test**, **live**.' type: string type: description: Type of notification. enum: - balancePlatform.balanceAccountSweep.created - balancePlatform.balanceAccountSweep.updated - balancePlatform.balanceAccountSweep.deleted type: string required: - environment - type - data SweepConfigurationV2: properties: counterparty: description: 'The destination or the source of the funds, depending on the `type`. Either a `balanceAccountId`, `transferInstrumentId`, or `merchantAccount` is required.' $ref: '#/components/schemas/SweepCounterparty' currency: description: 'The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) in uppercase. For example, **EUR**. The sweep currency must match any of the [balances currencies](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__resParam_balances).' type: string description: description: 'The message that will be used in the sweep transfer''s description body with a maximum length of 140 characters. If the message is longer after replacing placeholders, the message will be cut off at 140 characters.' type: string id: description: The unique identifier of the sweep. type: string schedule: description: The schedule when the `triggerAmount` is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account. oneOf: - $ref: '#/components/schemas/CronSweepSchedule' - $ref: '#/components/schemas/SweepSchedule' status: x-enum: - description: The sweep is enabled and funds will be pulled in or pushed out based on the defined configuration value: active - description: The sweep is disabled and cannot be triggered. value: inactive description: "The status of the sweep. If not provided, by default, this\ \ is set to **active**.\n\nPossible values: \n\n * **active**: the sweep\ \ is enabled and funds will be pulled in or pushed out based on the defined\ \ configuration. \n\n * **inactive**: the sweep is disabled and cannot\ \ be triggered. \n\n" enum: - active - inactive type: string sweepAmount: description: The amount that must be pushed out or pulled in. You can configure either `sweepAmount` or `targetAmount`, not both. $ref: '#/components/schemas/Amount' targetAmount: description: The amount that must be available in the balance account after the sweep. You can configure either `sweepAmount` or `targetAmount`, not both. $ref: '#/components/schemas/Amount' triggerAmount: description: 'The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The `triggerAmount` is evaluated according to the specified `schedule.type`. * For `type` **pull**, if the balance is less than or equal to the `triggerAmount`, funds are pulled in to the balance account. * For `type` **push**, if the balance is more than or equal to the `triggerAmount`, funds are pushed out of the balance account.' $ref: '#/components/schemas/Amount' type: default: push description: "The direction of sweep, whether pushing out or pulling in\ \ funds to the balance account. If not provided, by default, this is set\ \ to **push**.\n\nPossible values:\n\n * **push**: _push out funds_ to\ \ a destination balance account or transfer instrument.\n\n * **pull**:\ \ _pull in funds_ from a source merchant account, transfer instrument,\ \ or balance account." enum: - pull - push type: string required: - id - schedule - currency - counterparty SweepCounterparty: properties: balanceAccountId: description: "The unique identifier of the destination or source [balance\ \ account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).\n\ \n You can only use this for periodic sweep schedules such as `schedule.type`\ \ **daily** or **monthly**." type: string merchantAccount: description: The merchant account that will be the source of funds, if you are processing payments with Adyen. You can only use this with sweeps of `type` **pull** and `schedule.type` **balance**. type: string transferInstrumentId: description: 'The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/transferInstruments__resParam_id). You can also use this in combination with a `merchantAccount` and a `type` **pull** to start a direct debit request from the source transfer instrument. To use this feature, reach out to your Adyen contact.' type: string SweepSchedule: additionalProperties: false properties: type: description: 'The schedule type. Possible values: * **cron**: push out funds based on a cron expression. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`.' enum: - daily - weekly - monthly - balance - cron type: string TransactionEventViolation: properties: reason: description: An explanation about why the transaction rule failed. type: string transactionRule: description: Contains information about the transaction rule. $ref: '#/components/schemas/ResourceReference' transactionRuleSource: description: Contains the type and ID of the resource to which the transaction rule is linked. $ref: '#/components/schemas/TransactionRuleSource' TransactionNotificationData: properties: accountHolder: description: Contains information about the account holder. $ref: '#/components/schemas/ResourceReference' amount: description: "The amount converted to the balance account's currency, in\ \ case the original transaction currency is different.\n\n* A _positive_\ \ value means the amount is added to the balance account.\n\n * A _negative_\ \ value means the amount is deducted from the balance account. " $ref: '#/components/schemas/Amount' authCode: description: The authorisation code for the payment. type: string balanceAccount: description: Contains information about the balance account. $ref: '#/components/schemas/ResourceReference' balancePlatform: description: Unique identifier of the balance platform. type: string counterparty: description: Contains information about the other party in the transaction. $ref: '#/components/schemas/Counterparty' creationDate: description: 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: description: Your description for the transfer. If you send a description longer than 140 characters, the text is truncated. type: string id: description: The ID of the resource. type: string merchantData: description: Contains information about the merchant that processed the payment. This object is only included for payment authorisation requests and captures. $ref: '#/components/schemas/MerchantData' modification: description: Contains the amount and type of modification that triggered the notification. For example, this object contains the amount of a partial cancellation or partial expired authorisation. $ref: '#/components/schemas/NotificationModificationData' originalAmount: description: "The amount in the original currency of the transaction.\n\n\ * A _positive_ value means the amount is added to the balance account.\n\ \n * A _negative_ value means the amount is deducted from the balance\ \ account. " $ref: '#/components/schemas/Amount' paymentId: description: The ID of the original payment authorisation, refund, or funds transfer request. Use this to trace the original request from the `balancePlatform.payment.created` webhook. type: string paymentInstrument: description: Contains information about the payment instrument. $ref: '#/components/schemas/ResourceReference' platformPayment: description: Contains information about the related platform payment. $ref: '#/components/schemas/PlatformPayment' processingType: description: Contains information about how the payment was processed. For example, **ecommerce** for online or **pos** for point-of-sale payments. type: string purposeCode: description: "Indicates the purpose of the outgoing transfer. Adyen sets\ \ this to:\n\n* **payoutManual** when the transfer was triggered by a\ \ one-off payout using the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ endpoint.\n\n * **payoutSweep** when the transfer was triggered by a\ \ scheduled payout using [`sweepConfigurations`](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_sweepConfigurations)." type: string reference: description: The [`reference`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__reqParam_reference) from the `/transfers` request. If you haven't provided any, Adyen generates a unique reference. maxLength: 80 type: string referenceForBeneficiary: description: "The reference sent to or received from the counterparty.\n\ \n* For outgoing funds, this is the [`referenceForBeneficiary`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__resParam_referenceForBeneficiary)\ \ from the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers)\ \ request.\n\n * For incoming funds, this is the reference from the sender." maxLength: 80 type: string relayedAuthorisationData: description: If you're using [relayed authorisation](https://docs.adyen.com/issuing/processing-payments-for-cards#relayed-authorisation), this object contains information from the relayed authorisation response from your server. $ref: '#/components/schemas/RelayedAuthorisationData' status: description: "The event status. The possible values depend on the `type`.\n\ \n* **Authorised**, **Refused**, or **Error** for type `balancePlatform.payment.created`\n\ \n * **Expired** or **Cancelled** for type `balancePlatform.payment.updated`\n\ \n* **PendingIncomingTransfer** for type `balancePlatform.incomingTransfer.created`\ \ \n\n* **Refunded** or **IncomingTransfer** for type `balancePlatform.incomingTransfer.updated`\n\ \n * **Captured** or **OutgoingTransfer** for type `balancePlatform.outgoingTransfer.created`\n\ \n* **TransferConfirmed**, **TransferSentOut**, or **TransferFailed**\ \ for type `balancePlatform.outgoingTransfer.updated`\n\n " type: string transactionRulesResult: description: Contains results from the evaluation of [transaction rules](https://docs.adyen.com/issuing/transaction-rules). $ref: '#/components/schemas/TransactionRulesResult' validationResult: description: Array of checks that Adyen performed to validate the payment and the result of each. items: $ref: '#/components/schemas/ValidationResult' type: array valueDate: description: Indicates the expected settlement date of this transaction, in ISO 8601 extended format. For example, **2021-08-17T15:34:37+02:00**. format: date-time type: string required: - counterparty TransactionRuleSource: 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 TransactionRulesResult: properties: allRulesPassed: description: Indicates whether the transaction passed the evaluation for all transaction rules. type: boolean failedTransactionRules: description: Array containing all the transaction rules that the transaction violated. This list is only sent when `allRulesPassed` is **false**. items: $ref: '#/components/schemas/TransactionEventViolation' type: array ValidationResult: properties: result: description: 'The result of the check. Possible values: - **valid**: The validation was successful. - **invalid**: The validation failed. - **notValidated**: The validation was not performed because some services were unreachable or Adyen does not have the information needed to perform the check. - **notApplicable**: The validation is not applicable.' type: string type: description: Type of check. type: string VerificationError: properties: code: description: The verification error code. type: string message: description: A description of the error. type: string remediatingActions: description: Contains the actions that you can take to resolve the verification error. items: $ref: '#/components/schemas/RemediatingAction' type: array subErrors: description: Contains more granular information about the verification error. items: $ref: '#/components/schemas/VerificationError-recursive' type: array type: description: "The type of error.\n\n Possible values: **invalidInput**,\ \ **dataMissing**." enum: - dataMissing - invalidInput - pendingStatus type: string VerificationError-recursive: properties: code: description: The verification error code. type: string message: description: A description of the error. type: string type: description: "The type of error.\n\n Possible values: **invalidInput**,\ \ **dataMissing**." enum: - dataMissing - invalidInput - pendingStatus type: string remediatingActions: description: Contains the actions that you can take to resolve the verification error. items: $ref: '#/components/schemas/RemediatingAction' type: array required: [] securitySchemes: ApiKeyAuth: in: header name: X-API-Key type: apiKey BasicAuth: scheme: basic type: http examples: WebhookAck: summary: Acknowledge Webhook value: notificationResponse: '[accepted]' post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created: summary: Account holder created description: Example webhook when an account holder was created value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountHolder: contactDetails: {} description: Sam Hopper legalEntityId: LE43319330319C8AYX89L2V59 reference: YOUR_REFERENCE-2412C capabilities: issueCard: enabled: 'true' requested: 'true' allowed: 'false' verificationStatus: pending receiveFromTransferInstrument: enabled: 'true' requested: 'true' allowed: 'false' verificationStatus: pending sendToTransferInstrument: enabled: 'true' requested: 'true' allowed: 'false' verificationStatus: pending sendToBalanceAccount: enabled: 'true' requested: 'true' allowed: 'false' verificationStatus: pending receiveFromBalanceAccount: enabled: 'true' requested: 'true' allowed: 'false' verificationStatus: pending id: AH32272223222B5CZW6QZ2V34 status: Active environment: test type: balancePlatform.accountHolder.created post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated: summary: Account holder updated description: Example webhook when an account holder was updated value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountHolder: description: Sam Hopper legalEntityId: LE43319330319C8AYX89L2V59 reference: YOUR_REFERENCE-2412C capabilities: sendToTransferInstrument: enabled: 'true' requested: 'true' allowed: 'false' problems: - entity: id: LE43319330319C8AYX89L2V59 type: LegalEntity verificationErrors: - code: '2_8037' message: No bankStatement available to perform verification. remediatingActions: - code: '1_703' message: Upload a bank statement type: dataMissing verificationStatus: invalid id: AH32272223222B5CZW6QZ2V34 status: Active environment: test type: balancePlatform.accountHolder.updated post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created: summary: Balance account created description: Example webhook when a balance account was created value: data: balancePlatform: YOUR_BALANCE_PLATFORM balanceAccount: accountHolderId: AH3227C223222B5CZW72CCC73 defaultCurrencyCode: EUR id: BA3227C223222B5CZW72VCC75 status: Active environment: test type: balancePlatform.balanceAccount.created post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created: summary: Sweep created description: Example webhook when a sweep was created value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountId: BA3227C223222B5FTD99V8GRS sweep: id: SWPC4227C224555B5FTD2NT2JV4WN5 schedule: type: weekly status: active targetAmount: currency: EUR value: 0 triggerAmount: currency: EUR value: 0 type: push counterparty: balanceAccountId: BA32272223222B5FTD2KR6TJD currency: EUR environment: test type: balancePlatform.balanceAccountSweep.created post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted: summary: Sweep deleted description: Example webhook when a sweep was deleted value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountId: BA3227C223222B5FTD99V8GRS sweep: id: SWPC4227C224555B5FTD2NT2JV4WN5 schedule: type: weekly status: active targetAmount: currency: EUR value: 0 triggerAmount: currency: EUR value: 0 type: push counterparty: balanceAccountId: BA32272223222B5FTD2KR6TJD currency: EUR environment: test type: balancePlatform.balanceAccountSweep.deleted post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated: summary: Sweep updated description: Example webhook when a sweep was updated value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountId: BA3227C223222B5FTD99V8GRS sweep: id: SWPC4227C224555B5FTD2NT2JV4WN5 schedule: type: weekly status: inactive targetAmount: currency: EUR value: 0 triggerAmount: currency: EUR value: 0 type: push counterparty: balanceAccountId: BA32272223222B5FTD2KR6TJD currency: EUR environment: test type: balancePlatform.balanceAccountSweep.created post-balancePlatform.incomingTransfer.created-balancePlatform-incomingTransfer-created: summary: Pending incoming transfer description: Example webhook when there is an incoming transfer value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-05-03T15:20:14+02:00' id: IZL6685QQEBKFOOY accountHolder: description: S.Hopper id: AH32272223222B5BBXP2Z8ZWS amount: currency: EUR value: 15000 balanceAccount: description: S.Hopper - Main account id: BA32272223222B5BQ3KWP86MW modification: amount: currency: EUR value: 15000 type: PendingIncomingTransfer originalAmount: currency: EUR value: 15000 paymentId: IZL6685QQEBKFON0 status: PendingIncomingTransfer environment: test type: balancePlatform.incomingTransfer.created post-balancePlatform.incomingTransfer.updated-balancePlatform-incomingTransfer-updated: summary: Completed incoming transfer description: Example webhook when an incoming transfer was completed and funds were settled value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-05-03T15:20:14+02:00' id: IZL6685QQEBKFOOY accountHolder: description: Liable Accountholder id: AH32272223222B5BBXP2Z8ZWS amount: currency: EUR value: 1500 balanceAccount: description: second-account id: BA32272223222B5BQ3KWP86MW modification: amount: currency: EUR value: 1500 type: IncomingTransfer originalAmount: currency: EUR value: 1500 paymentId: IZL6685QQEBKFON0 status: IncomingTransfer environment: test type: balancePlatform.incomingTransfer.updated post-balancePlatform.outgoingTransfer.created-balancePlatform-outgoingTransfer-created: summary: Completed outgoing funds transfer description: Example webhook when an outgoing funds transfer was completed value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-05-03T15:20:06+02:00' id: 1W1UG35QQEBJLHZ8 accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -1500 balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV originalAmount: currency: EUR value: -1500 modification: amount: currency: EUR value: -1500 type: OutgoingTransfer paymentId: 1W1UG35QQEBJLHZ8 status: OutgoingTransfer valueDate: '2021-08-10T14:57:01+02:00' environment: test type: balancePlatform.outgoingTransfer.created post-balancePlatform.outgoingTransfer.updated-balancePlatform-outgoingTransfer-updated: summary: Outgoing funds transfer failed description: Example webhook if an outgoing funds transfer failed value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-05-03T15:20:06+02:00' id: 1W1UG35QQEBJLHZ8 accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -1500 balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV originalAmount: currency: EUR value: -1500 modification: amount: currency: EUR value: -1500 type: OutgoingTransfer paymentId: 1W1UG35QQEBJLHZ8 status: TransferFailed valueDate: '2021-08-10T14:57:01+02:00' environment: test type: balancePlatform.outgoingTransfer.updated post-balancePlatform.payment.created-balancePlatform-payment-created-authorized: summary: Payment authorized description: Example webhook when a payment made with an Adyen-issued card was authorized value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-04-01T12:56:38+02:00' id: 1W1UG35QDNNE694X accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -2000 authCode: '397402' balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV merchantData: mcc: '7999' merchantId: '526567789012346' nameLocation: city: Amsterdam country: NLD name: Store-ecom rawData: Store-ecom Amsterdam NLD modification: amount: currency: EUR value: -2000 type: Authorised originalAmount: currency: EUR value: -2000 paymentInstrument: description: S.Hopper - card id: PI32272223222B5CZW7BQ2V3T processingType: ecommerce relayedAuthorisationData: metadata: key1: value1 key2: value2 key3: value3 status: Authorised transactionRulesResult: allRulesPassed: 'true' validationResult: - result: valid type: BalanceCheck - result: valid type: AccountLookup - result: valid type: RelayedAuthorisation - result: valid type: Screening - result: valid type: TransactionRules - result: valid type: TransactionValidation - result: valid type: PaymentInstrumentExpirationCheck - result: valid type: MaxAuthAmount - result: valid type: CVC2 environment: test type: balancePlatform.payment.created post-balancePlatform.payment.created-balancePlatform-payment-created-funds-transfer: summary: Outgoing transfer requested description: Example webhook when an outgoing transfer was requested value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-05-03T15:20:06+02:00' id: 1W1UG35QQEBJLHZ8 accountHolder: description: Liable account holder id: AH32272223222B59MTF7458DP reference: Liable account holder amount: currency: EUR value: -15000 balanceAccount: description: Liable balance account id: BA3227C223222B5B9SCR82TMV modification: amount: currency: EUR value: -15000 type: Authorised originalAmount: currency: EUR value: -15000 status: Authorised environment: test type: balancePlatform.payment.created post-balancePlatform.payment.created-balancePlatform-payment-created-refund-requested: summary: Refund requested description: Example webhook when your user requests a refund value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-04-13T13:35:17+02:00' id: IZMP115QIFI1EXZK accountHolder: description: S. Hopper id: AH32272223222B59MTF7458DP amount: currency: EUR value: 2000 balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV originalAmount: currency: EUR value: 2000 modification: amount: currency: EUR value: 2000 type: Authorised paymentInstrument: description: a test card id: PI3227C223222B5BKTS5RC3D3 status: Authorised environment: test type: balancePlatform.payment.created post-balancePlatform.payment.created-balancePlatform-payment-created-rejected: summary: Payment declined description: Example webhook when a payment made with an Adyen-issued card was declined value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-03-15T10:30:43+01:00' id: 2L470J5Q6VVUAWGT accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -1000 balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV merchantData: mcc: '7999' merchantId: '526567789012346' nameLocation: city: Amsterdam country: NLD name: Store-ecom rawData: Store-ecom Amsterdam NLD modification: amount: currency: EUR value: -1000 type: Refused originalAmount: currency: EUR value: -1000 paymentInstrument: description: S.Hopper - card id: PI32272223222B5CZW7BQ2V3T processingType: ecommerce status: Refused transactionRulesResult: allRulesPassed: 'false' failedTransactionRules: - reason: This event exceeds the maximum allowed number of transactions (1) in interval monthly transactionRule: description: Allow 1 transactions per month id: TR32272223222B5CSZ666CTKF reference: myRule12345 transactionRuleSource: id: PI3227C223222B5BKTS5RC3D3 type: PaymentInstrument validationResult: - result: valid type: MaxAuthAmount - result: valid type: CVC2 - result: valid type: BalanceCheck - result: valid type: AccountLookup - result: invalid type: TransactionRules - result: valid type: TransactionValidation - result: notApplicable type: RelayedAuthorisation - result: valid type: PaymentInstrumentExpirationCheck - result: valid type: Screening environment: test type: balancePlatform.payment.created post-balancePlatform.payment.updated-balancePlatform-payment-updated-expired: summary: Payment authorization expired description: Example webhook when a payment authorization expired value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-03-25T11:42:05+01:00' id: 2L470J5QAVHDDZTW accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -2500 authCode: '995167' balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV merchantData: mcc: '7999' merchantId: '526567789012346' nameLocation: city: Amsterdam country: NLD name: Store-ecom rawData: Store-ecom Amsterdam NLD modification: amount: currency: EUR value: 2500 type: Expired originalAmount: currency: EUR value: -2500 paymentInstrument: description: S.Hopper - card id: PI32272223222B5CZW7BQ2V3T processingType: ecommerce relayedAuthorisationData: metadata: key1: value1 key2: value2 key3: value3 status: Expired transactionRulesResult: allRulesPassed: 'true' validationResult: - result: valid type: AccountLookup - result: valid type: PaymentInstrumentExpirationCheck - result: valid type: Screening - result: valid type: TransactionValidation - result: valid type: RelayedAuthorisation - result: valid type: BalanceCheck - result: valid type: CVC2 - result: valid type: MaxAuthAmount - result: valid type: TransactionRules environment: test type: balancePlatform.payment.updated post-balancePlatform.payment.updated-balancePlatform-payment-updated-partially-cancelled: summary: Part of payment authorization cancelled description: Example webhook when a part of the authorization was cancelled value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-03-25T11:42:05+01:00' id: 2L470J5QAVHDDZTW accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -2500 authCode: '995167' balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV merchantData: mcc: '7999' merchantId: '526567789012346' nameLocation: city: Amsterdam country: NLD name: Store-ecom rawData: Store-ecom Amsterdam NLD modification: amount: currency: EUR value: 1200 type: Expired originalAmount: currency: EUR value: -2500 paymentInstrument: description: S.Hopper - card id: PI32272223222B5CZW7BQ2V3T processingType: ecommerce relayedAuthorisationData: metadata: key1: value1 key2: value2 key3: value3 status: Expired transactionRulesResult: allRulesPassed: 'true' validationResult: - result: valid type: AccountLookup - result: valid type: PaymentInstrumentExpirationCheck - result: valid type: Screening - result: valid type: TransactionValidation - result: valid type: RelayedAuthorisation - result: valid type: BalanceCheck - result: valid type: CVC2 - result: valid type: MaxAuthAmount - result: valid type: TransactionRules environment: test type: balancePlatform.payment.updated post-balancePlatform.payment.updated-balancePlatform-payment-updated-partially-expired: summary: Part of payment authorization expired description: Example webhook when a part of the authorization expired value: data: balancePlatform: YOUR_BALANCE_PLATFORM creationDate: '2021-03-25T11:42:05+01:00' id: 2L470J5QAVHDDZTW accountHolder: description: S.Hopper - Staff 123 id: AH32272223222B5CZW6QZ2V34 amount: currency: EUR value: -2500 authCode: '995167' balanceAccount: description: My Balance Account id: BA3227C223222B5B9SCR82TMV merchantData: mcc: '7999' merchantId: '526567789012346' nameLocation: city: Amsterdam country: NLD name: Store-ecom rawData: Store-ecom Amsterdam NLD modification: amount: currency: EUR value: 1200 type: Expired originalAmount: currency: EUR value: -2500 paymentInstrument: description: S.Hopper - card id: PI32272223222B5CZW7BQ2V3T processingType: ecommerce relayedAuthorisationData: metadata: key1: value1 key2: value2 key3: value3 status: Expired transactionRulesResult: allRulesPassed: 'true' validationResult: - result: valid type: AccountLookup - result: valid type: PaymentInstrumentExpirationCheck - result: valid type: Screening - result: valid type: TransactionValidation - result: valid type: RelayedAuthorisation - result: valid type: BalanceCheck - result: valid type: CVC2 - result: valid type: MaxAuthAmount - result: valid type: TransactionRules environment: test type: balancePlatform.payment.updated post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created: summary: Card updated description: Example webhook when a card was updated value: data: balancePlatform: YOUR_BALANCE_PLATFORM paymentInstrument: balanceAccountId: BA3227C223222B5CZW72VCC75 description: S.Hopper - card issuingCountryCode: GB status: Suspended type: card card: cardholderName: Sam Hopper formFactor: virtual bin: '555544' expiration: month: '04' year: '2024' lastFour: '2732' id: PI32272223222B5CZW7BQ2V3T environment: test type: balancePlatform.paymentInstrument.updated post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated: summary: Card created description: Example webhook when a card was created value: data: balancePlatform: YOUR_BALANCE_PLATFORM paymentInstrument: balanceAccountId: BA3227C223222B5CZW72VCC75 description: S.Hopper - card issuingCountryCode: GB status: Active type: card card: cardholderName: Sam Hopper formFactor: virtual bin: '555544' expiration: month: '04' year: '2024' lastFour: '2732' id: PI32272223222B5CZW7BQ2V3T environment: test type: balancePlatform.paymentInstrument.created post-balancePlatform.report.created-balancePlatform.report.created: summary: Report created description: Example webhook when a report was generated and is ready to be downloaded value: data: balancePlatform: YOUR_BALANCE_PLATFORM accountHolder: id: AH32272223222B59MTF7458DP balanceAccount: id: BA3227C223222B5B9SCR82TMV creationDate: '2021-07-02T02:01:08+02:00' fileName: balanceplatform_payments_accounting_report_2021_07_01.csv reportType: balanceplatform_payments_accounting_report downloadUrl: https://balanceplatform-test.adyen.com/balanceplatform/.../.../.../balanceplatform_payments_accounting_report_2021_07_01.csv environment: test type: balancePlatform.report.created