Files
adyen-openapi/json/BalancePlatformNotificationService-v1.json
2021-08-30 09:11:14 +02:00

1950 lines
92 KiB
JSON

{
"openapi" : "3.1.0",
"info" : {
"version" : "1",
"x-publicVersion" : true,
"title" : "Balance Platform Notification Webhooks",
"description" : "Adyen sends notifications through webhooks to inform your system about events that occur in the balance platform. These events include when a card user makes a payment, or when a merchant starts a refund. When 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 webhooks to build your implementations. For example, you can use the information to update balances in your own dashboards or to keep track of incoming funds.\n\nRefer to [Notification webhooks](https://docs.adyen.com/issuing/notification-webhooks) for more information.",
"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"
],
"x-staticResponse" : "response.json",
"webhooks" : {
"balancePlatform.accountHolder.created" : {
"post" : {
"tags" : [
"Account holder and balance account"
],
"summary" : "An account holder was created.",
"description" : "Adyen sends this webhook after you successfully [create an account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/accountHolders).",
"operationId" : "post-alancePlatform.accountHolder.created",
"x-groupName" : "Account holder and balance account",
"x-sortIndex" : 5,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AccountHolderNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.accountHolder.updated" : {
"post" : {
"tags" : [
"Account holder and balance account"
],
"summary" : "An account holder was updated.",
"description" : "Adyen sends this webhook after you successfully [update an account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/accountHolders/{id}).",
"operationId" : "post-alancePlatform.accountHolder.updated",
"x-groupName" : "Account holder and balance account",
"x-sortIndex" : 5,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AccountHolderNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.balanceAccount.created" : {
"post" : {
"tags" : [
"Account holder and balance account"
],
"summary" : "A balance account was created.",
"description" : "Adyen sends this webhook after you successfully [create a balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts).",
"operationId" : "post-alancePlatform.balanceAccount.created",
"x-groupName" : "Account holder and balance account",
"x-sortIndex" : 5,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalanceAccountNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.incomingTransfer.created" : {
"post" : {
"tags" : [
"Fund movements"
],
"summary" : "Sent when there is a pending incoming transfer.",
"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.\n\n* For refunds, the webhook includes the payment instrument to which funds will be refunded.\n\n* For incoming fund transfers, the webhook only includes information about the balance account.",
"operationId" : "post-alancePlatform.incomingTransfer.created",
"x-groupName" : "Fund movements",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IncomingTransferNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.incomingTransfer.updated" : {
"post" : {
"tags" : [
"Fund movements"
],
"summary" : "Sent when funds were added to a balance account.",
"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` will be **Refunded**. \n\n* For incoming fund transfers, the `status` will be **IncomingTransfer**.",
"operationId" : "post-alancePlatform.incomingTransfer.updated",
"x-groupName" : "Fund movements",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IncomingTransferNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.outgoingTransfer.created" : {
"post" : {
"tags" : [
"Fund movements"
],
"summary" : "Sent when funds were deducted from a balance account.",
"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**.",
"operationId" : "post-alancePlatform.outgoingTransfer.created",
"x-groupName" : "Fund movements",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OutgoingTransferNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.outgoingTransfer.updated" : {
"post" : {
"tags" : [
"Fund movements"
],
"summary" : "Sent when there is an update after funds were deducted from a balance account.",
"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.\n\nUse the `data.id` to track the original outgoing transfer resource from the `balancePlatform.outgoingTransfer.created` webhook.",
"operationId" : "post-alancePlatform.outgoingTransfer.updated",
"x-groupName" : "Fund movements",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OutgoingTransferNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.payment.created" : {
"post" : {
"tags" : [
"Authorisation, refund, or transfer requests"
],
"summary" : "Sent when a payment authorisation, refund, or funds transfer has been 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.\n\nRefer to webhooks for [payment events](https://docs.adyen.com/issuing/notification-types/payment-events) and [fund transfers](https://docs.adyen.com/issuing/notification-types/fund-transfers-webhooks) for more information.",
"operationId" : "post-alancePlatform.payment.created",
"x-groupName" : "Authorisation, refund, or transfer requests",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PaymentNotificationRequest2"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.payment.updated" : {
"post" : {
"tags" : [
"Authorisation, refund, or transfer requests"
],
"summary" : "Sent when a payment authorisation has expired or has been 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.",
"operationId" : "post-alancePlatform.payment.updated",
"x-groupName" : "Authorisation, refund, or transfer requests",
"x-sortIndex" : 1,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PaymentNotificationRequest2"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.paymentInstrument.created" : {
"post" : {
"tags" : [
"Payment Instrument"
],
"summary" : "A payment instrument was created.",
"description" : "Adyen sends this webhook after you successfully [create a payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments). When creating a virtual card, note that the notification does not include the card number. You can only get the card number in the POST response.",
"operationId" : "post-alancePlatform.paymentInstrument.created",
"x-groupName" : "Payment Instrument",
"x-sortIndex" : 3,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PaymentNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.paymentInstrument.updated" : {
"post" : {
"tags" : [
"Payment Instrument"
],
"summary" : "A payment instrument was updated.",
"description" : "Adyen sends this webhook after you successfully [update a payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}). ",
"operationId" : "post-alancePlatform.paymentInstrument.updated",
"x-groupName" : "Payment Instrument",
"x-sortIndex" : 3,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PaymentNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.report.created" : {
"post" : {
"tags" : [
"Reports"
],
"summary" : "A report was generated.",
"description" : "Adyen sends this webhook after a report was generated and is ready to be downloaded. The webhook contains a URL at which the report can be downloaded. To download, you must authenticate your GET request with your [API credentials](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/overview).",
"operationId" : "post-alancePlatform.report.created",
"x-groupName" : "Reports",
"x-sortIndex" : 6,
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ReportNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
}
},
"components" : {
"schemas" : {
"AccountHolder" : {
"properties" : {
"balancePlatform" : {
"description" : "Unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id) where the account holder belongs. Required in the request if your API credentials has access to multiple balance platforms.",
"type" : "string"
},
"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" : "Unique identifier of the account holder.",
"type" : "string"
},
"legalEntityId" : {
"description" : "The unique identifier of the [legal entity](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/legalEntities) associated with the account holder. Adyen performs the Know Your Customer (KYC) verification process against the legal entity of the account holder.\n\nTo create a legal entity, refer to [Onboard and verify account holders](https://docs.adyen.com/issuing/kyc-verification).",
"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 to 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 the default status when creating an account holder. \n\n * **Suspended**: The account holder is temporarily suspended. You can set the account back to active or permanently close the account. \n\n* **Closed**: The account holder is permanently closed. This action cannot be undone.",
"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).\n\n Sweep configurations on the account holder level applies to all the account holder's balance accounts.\n\n The key must be a currency code in the three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) format and in uppercase. For example, **EUR**. The value must be an object containing the sweep configuration.\n\n",
"type" : "object"
}
},
"required" : [
"contactDetails",
"id"
]
},
"AccountHolderNotificationData" : {
"properties" : {
"accountHolder" : {
"description" : "Contains information about the account holder resource that triggered the event.",
"$ref" : "#/components/schemas/AccountHolder"
},
"balancePlatform" : {
"description" : "The ID of the balance platform.",
"type" : "string"
}
},
"required" : [
"balancePlatform"
]
},
"AccountHolderNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/AccountHolderNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.accountHolder.updated",
"balancePlatform.accountHolder.created"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"Address2" : {
"properties" : {
"city" : {
"description" : "The name of the city.",
"type" : "string"
},
"country" : {
"description" : "The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**.\n> 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.",
"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" : "State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.",
"type" : "string"
},
"street" : {
"description" : "The name of the street.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.",
"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" : {
"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: **äöüßÄÖÜ+-*/ç%()=?!~#'\",;:$&àùòâôûáúó**",
"type" : "string"
},
"phone" : {
"description" : "The phone number where the one-time password (OTP) is sent.\n\nThis object must have:\n\n- A `type` set to **mobile**.\n\n- A `number` with a valid country code.\n\n- A `number` with more than 4 digits, excluding the country code.\n\n>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" : "Unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/accountHolders/{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 currency code of this balance account, in three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) format.\nThe 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 help distinguish between multiple balance accounts under an account holder.",
"maxLength" : 300,
"type" : "string"
},
"id" : {
"description" : "Unique identifier of the balance account.",
"type" : "string"
},
"paymentInstruments" : {
"description" : "List of [payment instruments](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/paymentInstruments/{id}__queryParam_id) associated with the balance account.",
"items" : {
"$ref" : "#/components/schemas/PaymentInstrumentReference"
},
"type" : "array"
},
"reference" : {
"description" : "Your reference to the balance account, maximum 150 characters.",
"maxLength" : 150,
"type" : "string"
},
"status" : {
"description" : "The status of the balance account, set to **Active** by default. \n",
"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).\n\nSweep configurations on the balance account override [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/accountHolders__reqParam_sweepConfigurations) configurations.\n\nThe key must be a currency code in the three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes) format and in uppercase. For example, **EUR**. The value must be an object containing the sweep configuration.",
"type" : "object"
}
},
"required" : [
"accountHolderId",
"id"
]
},
"BalanceAccountNotificationData" : {
"properties" : {
"balanceAccount" : {
"$ref" : "#/components/schemas/BalanceAccount"
},
"balancePlatform" : {
"description" : "The ID of the balance platform.",
"type" : "string"
}
},
"required" : [
"balancePlatform"
]
},
"BalanceAccountNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/BalanceAccountNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.balanceAccount.updated",
"balancePlatform.balanceAccount.created"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"BalancePlatformNotificationData" : {
"properties" : {
"balancePlatform" : {
"description" : "The ID 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"
}
},
"required" : [
"balancePlatform",
"id",
"creationDate"
]
},
"BalancePlatformNotificationResponse" : {
"properties" : {
"notificationResponse" : {
"description" : "Respond with an **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/issuing/notification-webhooks#accept-notifications).",
"type" : "string"
}
}
},
"Card" : {
"properties" : {
"authentication" : {
"description" : "Authentication details for 3D Secure and wallet activation.",
"$ref" : "#/components/schemas/Authentication"
},
"bin" : {
"description" : "The BIN of the card number.",
"type" : "string"
},
"brand" : {
"description" : "The brand for the payment instrument.\nPossible values: **visa**, **mc**.",
"type" : "string"
},
"brandVariant" : {
"description" : "The brand variant for the payment instrument.\n>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 card holder. Maximum length 26 characters.",
"type" : "string"
},
"configuration" : {
"description" : "Specific settings for this card, including the configuration profile.",
"$ref" : "#/components/schemas/CardConfiguration"
},
"cvc" : {
"description" : "The CVC2 value of the card.\n> 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.\nPossible 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 of the card.\n> The primary account number is masked by default. The full primary account number is only returned for single-use virtual cards.",
"readOnly" : true,
"type" : "string"
}
},
"required" : [
"formFactor",
"cardholderName",
"brand",
"brandVariant",
"number"
]
},
"CardConfiguration" : {
"properties" : {
"activationUrl" : {
"description" : "The activation URL of the card configuration profile.",
"type" : "string"
},
"cardImageId" : {
"description" : "The Entity Reference of the card image.",
"type" : "string"
},
"carrierImageId" : {
"description" : "The Entity Reference of the carrier image.",
"type" : "string"
},
"configurationProfileId" : {
"description" : "The ID of the card configuration profile.",
"type" : "string"
},
"currency" : {
"description" : "The ISO-4217 currency code for the card. For example **EUR**.",
"type" : "string"
},
"language" : {
"description" : "The ISO-639-1 application language for the card. For example, **en**.",
"type" : "string"
},
"logoImageId" : {
"description" : "The Entity Reference of the logo image.",
"type" : "string"
}
}
},
"Contact" : {
"properties" : {
"address" : {
"description" : "The address of the contact.",
"$ref" : "#/components/schemas/Address2"
},
"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.\n**Examples:** \"0031 6 11 22 33 44\", \"+316/1122-3344\", \"(0031) 611223344\"",
"type" : "string"
},
"name" : {
"description" : "The name of the contact.",
"$ref" : "#/components/schemas/Name2"
},
"personalData" : {
"description" : "Personal data of the contact.",
"$ref" : "#/components/schemas/PersonalData"
},
"phoneNumber" : {
"description" : "The phone number of the contact.",
"$ref" : "#/components/schemas/PhoneNumber2"
},
"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/Address2"
},
"email" : {
"description" : "The e-mail address of the account holder.",
"type" : "string"
},
"phone" : {
"description" : "The phone number of the account holder.",
"$ref" : "#/components/schemas/Phone"
},
"webAddress" : {
"description" : "URL to the website of the account holder.",
"type" : "string"
}
},
"required" : [
"email",
"phone",
"address"
]
},
"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" : "The ID 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" : "The description for the transfer. If you sent 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"
},
"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" : [
"balancePlatform",
"id",
"creationDate"
]
},
"IncomingTransferNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/IncomingTransferNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.incomingTransfer.updated",
"balancePlatform.incomingTransfer.created"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"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"
}
}
},
"Name2" : {
"properties" : {
"firstName" : {
"description" : "The first name.",
"type" : "string"
},
"lastName" : {
"description" : "The last name.",
"type" : "string"
}
},
"required" : [
"firstName",
"lastName"
]
},
"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.\n\nPossible 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" : "The ID 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" : "The description for the transfer. If you sent 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 transaction. Adyen sets this to **payout** when transferring funds out of the balance platform.",
"type" : "string"
},
"reference" : {
"description" : "The reference for the transfer.",
"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" : [
"balancePlatform",
"id",
"creationDate"
]
},
"OutgoingTransferNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains details about the event.",
"$ref" : "#/components/schemas/OutgoingTransferNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "The type of notification.",
"enum" : [
"balancePlatform.outgoingTransfer.created",
"balancePlatform.outgoingTransfer.updated"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"PaymentInstrument" : {
"properties" : {
"balanceAccountId" : {
"description" : "Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__queryParam_id) associated with the payment instrument.",
"type" : "string"
},
"card" : {
"description" : "Contains information about the card payment instrument.",
"$ref" : "#/components/schemas/Card"
},
"description" : {
"description" : "Your description for the payment instrument, maximum 300 characters.",
"maxLength" : 300,
"type" : "string"
},
"id" : {
"description" : "Unique identifier of the payment instrument.",
"type" : "string"
},
"issuingCountryCode" : {
"description" : "Country where the payment instrument is being issued, in the two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **NL**, **US**.",
"type" : "string"
},
"paymentInstrumentGroupId" : {
"description" : "The ID of a payment instrument group that this payment instrument is part of.",
"type" : "string"
},
"reference" : {
"description" : "Your reference to 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 status of the payment instrument. If a status is not specified when creating a payment instrument, the status is set to **Active** by default. However, there can be exceptions based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards issued 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 when creating 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"
],
"type" : "string"
},
"type" : {
"description" : "The type of payment instrument.\n\nPossible value: **card** ",
"enum" : [
"bankAccount",
"card",
"unknown"
],
"type" : "string"
}
},
"required" : [
"balanceAccountId",
"issuingCountryCode",
"type",
"id"
]
},
"PaymentInstrumentNotificationData" : {
"properties" : {
"balancePlatform" : {
"description" : "The ID of the balance platform.",
"type" : "string"
},
"paymentInstrument" : {
"description" : "Contains information about the payment instrument resource that triggered the event.",
"$ref" : "#/components/schemas/PaymentInstrument"
}
},
"required" : [
"balancePlatform"
]
},
"PaymentInstrumentReference" : {
"properties" : {
"id" : {
"description" : "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" : "The ID 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" : "The description for the transfer. If you sent 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 for the transfer.",
"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"
}
},
"required" : [
"balancePlatform",
"id",
"creationDate"
]
},
"PaymentNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/PaymentInstrumentNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.paymentInstrument.created",
"balancePlatform.paymentInstrument.updated"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"PaymentNotificationRequest2" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/PaymentNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible 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.\nThe 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.\n>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" : "The type of phone number.\nPossible values: \n**Landline**, **Mobile**.\n",
"enum" : [
"Landline",
"Mobile"
],
"type" : "string"
}
},
"required" : [
"number",
"type"
]
},
"PhoneNumber2" : {
"properties" : {
"phoneCountryCode" : {
"description" : "The two-character country code of the phone number.\n>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').",
"type" : "string"
},
"phoneNumber" : {
"description" : "The phone number.\n>The inclusion of the phone number country code is not necessary.",
"type" : "string"
},
"phoneType" : {
"description" : "The type of the phone number.\n>The following values are permitted: `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 can be **Authorised** or **Refused**, based on the `authorisationDecision.status` in the relayed authorisation response from your server.",
"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" : "The ID 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" : "The type of report.",
"type" : "string"
}
},
"required" : [
"balancePlatform",
"creationDate",
"fileName",
"reportType",
"downloadUrl"
]
},
"ReportNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/ReportNotificationData"
},
"environment" : {
"description" : "The environment from where the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.report.created"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
]
},
"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" : "Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}) that will be the source or destination of the balance sweep. This can only be used 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. 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.",
"$ref" : "#/components/schemas/SweepSchedule"
},
"sweepAmount" : {
"description" : "The amount that must be pushed out or pulled in. You can configure only one of `sweepAmount` or `targetAmount`.",
"$ref" : "#/components/schemas/Amount"
},
"targetAmount" : {
"description" : "The amount that must be available in the balance account after the sweep. You can configure only one of `sweepAmount` or `targetAmount`.",
"$ref" : "#/components/schemas/Amount"
},
"transferInstrumentId" : {
"description" : "Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/transferInstruments/{id}__queryParam_id) that will be the source or destination of the balance sweep. This can only be used for periodic sweep schedules such as `schedule.type` **daily** or **monthly**.",
"type" : "string"
},
"triggerAmount" : {
"description" : "The threshold amount that triggers the sweep. If not specified, the amount defaults to zero. The `triggerAmount` is evaluated at the specified `schedule.type`.\n\n* For `type` **pull**, if the balance is less than or equal to the `triggerAmount`, funds will be pulled in to the balance account.\n\n* For `type` **push**, if the balance is more than or equal to the `triggerAmount`, funds will be pushed out of the balance account.",
"$ref" : "#/components/schemas/Amount"
},
"type" : {
"default" : "push",
"description" : "The direction of sweep. Possible values:\n\n * **push**: _Push funds out_ to a destination balance account or transfer instrument.\n\n * **pull**: _Pull funds in_ from a source merchant account or balance account. ",
"enum" : [
"pull",
"push"
],
"type" : "string"
}
},
"required" : [
"schedule",
"type"
]
},
"SweepSchedule" : {
"properties" : {
"type" : {
"description" : "The schedule type.\n\nPossible values:\n\n* **daily**: Push out funds daily at 07:00 AM CET.\n\n* **weekly**: Push out funds every Monday at 07:00 AM CET.\n\n* **monthly**: Push out funds every 1st of the month at 07:00 AM CET.\n\n* **balance**: Only for sweeps of `type` **pull** and with a `merchantAccount` source. Pull in funds instantly if the balance is less than or equal to the `triggerAmount`.",
"enum" : [
"balance",
"daily",
"monthly",
"weekly"
],
"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 where 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" : "The ID 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" : "The description for the transfer. If you sent 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 transaction. Adyen sets this to **payout** when transferring funds out of the balance platform.",
"type" : "string"
},
"reference" : {
"description" : "The reference for the transfer.",
"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" : [
"balancePlatform",
"id",
"creationDate"
]
},
"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" : "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.\n\nPossible values:\n\n- **valid** - The validation was successful.\n\n- **invalid** - The validation failed.\n\n- **notValidated** - The validation was not performed because some services were unreachable or Adyen does not have the information needed to perform the check.\n\n- **notApplicable** - The validation is not applicable.",
"type" : "string"
},
"type" : {
"description" : "The type of check.",
"type" : "string"
}
}
}
},
"securitySchemes" : {
"ApiKeyAuth" : {
"in" : "header",
"name" : "X-API-Key",
"type" : "apiKey"
},
"BasicAuth" : {
"scheme" : "basic",
"type" : "http"
}
},
"examples" : {
}
}
}