diff --git a/json/BalancePlatformAcsNotification-v1.json b/json/BalancePlatformAcsNotification-v1.json new file mode 100644 index 00000000..6a4cbf68 --- /dev/null +++ b/json/BalancePlatformAcsNotification-v1.json @@ -0,0 +1,415 @@ +{ + "openapi" : "3.1.0", + "info" : { + "version" : "1", + "x-publicVersion" : true, + "title" : "Authentication webhooks", + "description" : "Adyen sends webhooks to inform your system about events related to cardholder authentication.", + "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", + "contact" : { + "name" : "Adyen Developer Experience team", + "url" : "https://github.com/Adyen/adyen-openapi" + } + }, + "x-groups" : [ + "General" + ], + "tags" : [ + ], + "webhooks" : { + "balancePlatform.authentication.created" : { + "post" : { + "tags" : [ + "General" + ], + "summary" : "Cardholder authenticated", + "description" : "Adyen sends this webhook when the process of cardholder authentication is finalized, whether it is completed successfully, fails, or expires.", + "x-addedInVersion" : "1", + "operationId" : "post-balancePlatform.authentication.created", + "x-groupName" : "General", + "x-sortIndex" : 1, + "x-methodName" : "cardholderAuthenticated", + "security" : [ + { + "BasicAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AuthenticationNotificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BalancePlatformNotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + } + }, + "components" : { + "schemas" : { + "Amount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value", + "currency" + ], + "type" : "object" + }, + "AuthenticationInfo" : { + "properties" : { + "acsTransId" : { + "description" : "Universally unique transaction identifier assigned by the Access Control Server (ACS) to identify a single transaction.", + "type" : "string" + }, + "challenge" : { + "description" : "Information about Strong Customer Authentication (SCA). Returned when `type` is **challenge**.", + "$ref" : "#/components/schemas/ChallengeInfo" + }, + "challengeIndicator" : { + "description" : "Specifies a preference for receiving a challenge. Possible values:\n\n* **01**: No preference\n* **02**: No challenge requested\n* **03**: Challenge requested (preference)\n* **04**: Challenge requested (mandate)\n* **05**: No challenge requested (transactional risk analysis is already performed)\n* **07**: No challenge requested (SCA is already performed)\n* **08**: No challenge requested (trusted beneficiaries exemption of no challenge required)\n* **09**: Challenge requested (trusted beneficiaries prompt requested if challenge required)\n* **80**: No challenge requested (secure corporate payment with Mastercard)\n* **82**: No challenge requested (secure corporate payment with Visa)\n", + "enum" : [ + "01", + "02", + "03", + "04", + "05", + "07", + "08", + "09", + "80", + "82" + ], + "type" : "string" + }, + "createdAt" : { + "description" : "Date and time in UTC of the cardholder authentication. \n\n[ISO 8601](https://www.w3.org/TR/NOTE-datetime) format: YYYY-MM-DDThh:mm:ss+TZD, for example, **2020-12-18T10:15:30+01:00**.", + "format" : "date-time", + "type" : "string" + }, + "deviceChannel" : { + "description" : "Indicates the type of channel interface being used to initiate the transaction. Possible values:\n\n* **app**\n* **browser**\n* **3DSRequestorInitiated** (initiated by a merchant when the cardholder is not available)", + "enum" : [ + "app", + "browser", + "ThreeDSRequestorInitiated" + ], + "type" : "string" + }, + "dsTransID" : { + "description" : "Universally unique transaction identifier assigned by the DS (card scheme) to identify a single transaction.", + "type" : "string" + }, + "exemptionIndicator" : { + "description" : "Indicates the exemption type that was applied to the authentication by the issuer, if exemption applied. Possible values:\n\n* **lowValue**\n* **secureCorporate**\n* **trustedBeneficiary**\n* **transactionRiskAnalysis**\n", + "enum" : [ + "lowValue", + "secureCorporate", + "trustedBeneficiary", + "transactionRiskAnalysis" + ], + "type" : "string" + }, + "inPSD2Scope" : { + "description" : "Indicates if the purchase was in the PSD2 scope.", + "type" : "boolean" + }, + "messageCategory" : { + "description" : "Identifies the category of the message for a specific use case. Possible values:\n\n* **payment**\n* **nonPayment**", + "enum" : [ + "payment", + "nonPayment" + ], + "type" : "string" + }, + "messageVersion" : { + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "riskScore" : { + "description" : "Risk score calculated from the transaction rules.", + "format" : "int32", + "type" : "integer" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification. Possible values:\n\n* **Y**: Authentication / Account verification successful.\n* **N**: Not Authenticated / Account not verified. Transaction denied.\n* **U**: Authentication / Account verification could not be performed.\n* **I**: Informational Only / 3D Secure Requestor challenge preference acknowledged.\n* **R**: Authentication / Account verification rejected by the Issuer.\n", + "enum" : [ + "Y", + "N", + "R", + "I", + "U" + ], + "type" : "string" + }, + "transStatusReason" : { + "description" : "Provides information on why the `transStatus` field has the specified value. For possible values, refer to [our docs](https://docs.adyen.com/online-payments/3d-secure/api-reference#possible-transstatusreason-values).", + "enum" : [ + "01", + "02", + "03", + "04", + "05", + "06", + "07", + "08", + "09", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "80", + "81", + "82", + "83", + "84", + "85", + "86", + "87", + "88" + ], + "type" : "string" + }, + "type" : { + "description" : "The type of authentication performed. Possible values:\n\n* **frictionless**\n* **challenge**", + "enum" : [ + "frictionless", + "challenge" + ], + "type" : "string" + } + }, + "required" : [ + "challengeIndicator", + "dsTransID", + "messageVersion", + "threeDSServerTransID", + "transStatus", + "transStatusReason", + "createdAt", + "type", + "inPSD2Scope", + "deviceChannel", + "messageCategory", + "acsTransId" + ], + "type" : "object" + }, + "AuthenticationNotificationData" : { + "properties" : { + "authentication" : { + "description" : "Information about the authentication.", + "$ref" : "#/components/schemas/AuthenticationInfo" + }, + "balancePlatform" : { + "description" : "The unique identifier of the balance platform.", + "type" : "string" + }, + "id" : { + "description" : "Unique identifier of the authentication.", + "type" : "string" + }, + "paymentInstrumentId" : { + "description" : "Unique identifier of the payment instrument that was used for the authentication.", + "type" : "string" + }, + "purchase" : { + "description" : "Information about the purchase.", + "$ref" : "#/components/schemas/PurchaseInfo" + }, + "status" : { + "description" : "Outcome of the authentication.\nAllowed values:\n* authenticated\n* rejected\n* error", + "enum" : [ + "authenticated", + "rejected", + "error" + ], + "type" : "string" + } + }, + "required" : [ + "id", + "paymentInstrumentId", + "status", + "authentication", + "purchase" + ], + "type" : "object" + }, + "AuthenticationNotificationRequest" : { + "properties" : { + "data" : { + "description" : "Contains event details.", + "$ref" : "#/components/schemas/AuthenticationNotificationData" + }, + "environment" : { + "description" : "The environment from which the webhook originated.\n\nPossible values: **test**, **live**.", + "type" : "string" + }, + "type" : { + "description" : "Type of notification.", + "enum" : [ + "balancePlatform.authentication.created" + ], + "type" : "string" + } + }, + "required" : [ + "environment", + "type", + "data" + ], + "type" : "object" + }, + "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" + } + }, + "type" : "object" + }, + "ChallengeInfo" : { + "properties" : { + "challengeCancel" : { + "description" : "Indicator informing the Access Control Server (ACS) and the Directory Server (DS) that the authentication has been cancelled. For possible values, refer to [3D Secure API reference](https://docs.adyen.com/online-payments/3d-secure/api-reference#mpidata).", + "enum" : [ + "01", + "02", + "03", + "04", + "05", + "06", + "07" + ], + "type" : "string" + }, + "flow" : { + "description" : "The flow used in the challenge. Possible values:\n\n* **OTP_SMS**: one-time password (OTP) flow\n* **OOB**: out-of-band (OOB) flow", + "enum" : [ + "OTP_SMS", + "OOB" + ], + "type" : "string" + }, + "lastInteraction" : { + "description" : "The last time of interaction with the challenge.", + "format" : "date-time", + "type" : "string" + }, + "phoneNumber" : { + "description" : "The last four digits of the phone number used in the challenge.", + "type" : "string" + }, + "resends" : { + "description" : "The number of times the one-time password (OTP) was resent during the challenge.", + "format" : "int32", + "type" : "integer" + }, + "retries" : { + "description" : "The number of retries used in the challenge.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "flow", + "lastInteraction" + ], + "type" : "object" + }, + "PurchaseInfo" : { + "properties" : { + "date" : { + "description" : "Date of the purchase.", + "type" : "string" + }, + "merchantName" : { + "description" : "Name of the merchant.", + "type" : "string" + }, + "originalAmount" : { + "description" : "Amount of the purchase.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "merchantName", + "date", + "originalAmount" + ], + "type" : "object" + }, + "Resource" : { + "properties" : { + "balancePlatform" : { + "description" : "The unique identifier of the balance platform.", + "type" : "string" + }, + "creationDate" : { + "description" : "The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.", + "format" : "date-time", + "type" : "string" + }, + "id" : { + "description" : "The ID of the resource.", + "type" : "string" + } + }, + "type" : "object" + } + }, + "securitySchemes" : { + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } + }, + "examples" : { + + } + } +} \ No newline at end of file diff --git a/json/BalancePlatformPaymentNotification-v1.json b/json/BalancePlatformPaymentNotification-v1.json index c2af664c..d7cdc54c 100644 --- a/json/BalancePlatformPaymentNotification-v1.json +++ b/json/BalancePlatformPaymentNotification-v1.json @@ -5,7 +5,6 @@ "x-publicVersion" : true, "title" : "Payment webhooks (deprecated)", "description" : "The payment webhooks are deprecated. Use the [accounting webhooks](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview) instead.\n\nAdyen sends webhooks to inform your system about the creation of payment resources and money movements in your platform.\n\nYou can use these webhooks to build your implementation. For example, you can use this information to update balances in your own dashboards or to keep track of incoming funds.", - "x-timestamp" : "2023-06-09T18:25:00Z", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Developer Experience team", diff --git a/json/BalancePlatformTransferNotification-v3.json b/json/BalancePlatformTransferNotification-v3.json index e71ca350..f0e158e5 100644 --- a/json/BalancePlatformTransferNotification-v3.json +++ b/json/BalancePlatformTransferNotification-v3.json @@ -338,6 +338,9 @@ { "$ref" : "#/components/schemas/NOLocalAccountIdentification" }, + { + "$ref" : "#/components/schemas/NZLocalAccountIdentification" + }, { "$ref" : "#/components/schemas/NumberAndBicAccountIdentification" }, @@ -586,6 +589,44 @@ ], "type" : "object" }, + "NZLocalAccountIdentification" : { + "additionalProperties" : false, + "properties" : { + "accountNumber" : { + "description" : "The 7-digit bank account number, without separators or whitespace.", + "maxLength" : 7, + "minLength" : 7, + "type" : "string" + }, + "accountSuffix" : { + "description" : "The 2- to 3-digit account suffix, without separators or whitespace.", + "maxLength" : 3, + "minLength" : 2, + "type" : "string" + }, + "bankCode" : { + "description" : "The 6-digit bank code including the 2-digit bank code and 4-digit branch code, without separators or whitespace.", + "maxLength" : 6, + "minLength" : 6, + "type" : "string" + }, + "type" : { + "default" : "nzLocal", + "description" : "**nzLocal**", + "enum" : [ + "nzLocal" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "accountNumber", + "accountSuffix", + "bankCode" + ], + "type" : "object" + }, "NameLocation" : { "properties" : { "city" : { @@ -680,7 +721,7 @@ "$ref" : "#/components/schemas/Address" }, "dateOfBirth" : { - "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before 1st January 1900.\n\nAllowed only when `type` is **individual**.", + "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900.\n\nAllowed only when `type` is **individual**.", "format" : "date", "type" : "string" }, @@ -697,7 +738,7 @@ "type" : "string" }, "reference" : { - "description" : "Your unique reference of the party. This should be consistent for all transfers initiated to/from the same party/counterparty. e.g Your client's unique wallet or payee ID", + "description" : "A unique reference to identify the party or counterparty involved in transfers. This identifier ensures consistency and uniqueness throughout all transactions initiated to and from the same party. For example, your client's unique wallet or payee ID.", "type" : "string" }, "type" : { @@ -1063,6 +1104,21 @@ "description" : "The payment's merchant reference included in the transfer.", "type" : "string" }, + "platformPaymentType" : { + "x-addedInVersion" : "3", + "deprecated" : true, + "x-deprecatedInVersion" : "3", + "x-deprecatedMessage" : "This will be removed in v4 and replaced with a new field.", + "description" : "The type of the related split.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "PaymentFee", + "VAT" + ], + "type" : "string" + }, "priority" : { "x-addedInVersion" : "3", "description" : "The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Required for transfers with `category` **bank**.\n\nPossible values:\n\n* **regular**: For normal, low-value transactions.\n\n* **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.\n\n* **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.\n\n* **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html).\n\n* **crossBorder**: High-value transfer to a recipient in a different country.\n\n* **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).", @@ -1252,6 +1308,7 @@ "bankTransfer", "capture", "captureReversal", + "cardTransfer", "chargeback", "chargebackReversal", "depositCorrection", diff --git a/json/TransferService-v1.json b/json/TransferService-v1.json index 60fc535d..2f704c38 100644 --- a/json/TransferService-v1.json +++ b/json/TransferService-v1.json @@ -10,7 +10,6 @@ "x-publicVersion" : true, "title" : "Transfers API", "description" : "This API provides endpoints that you can use to transfer funds, whether when [paying out to a transfer instrument](https://docs.adyen.com/marketplaces-and-platforms/payout-to-users/on-demand-payouts), [sending funds to third parties](https://docs.adyen.com/marketplaces-and-platforms/business-accounts/send-receive-funds) for users with business bank accounts, or to [request a payout for a grant offer](https://docs.adyen.com/marketplaces-and-platforms/capital). The API also supports use cases for [getting transactions for business bank accounts](https://docs.adyen.com/marketplaces-and-platforms/business-accounts/transactions-api) and getting [grants and its outstanding balances](https://docs.adyen.com/marketplaces-and-platforms/capital#get-balances). .\n\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-U \"ws@BalancePlatform.YOUR_BALANCE_PLATFORM\":\"YOUR_WS_PASSWORD\" \\\n...\n```\n## Roles and permissions\nTo use the Transfers API, you need an additional role for your API credential. Transfers must also be enabled for the source balance account. Your Adyen contact will set up the roles and permissions for you.\n## Versioning\nThe Transfers API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://balanceplatform-api-test.adyen.com/btl/v1/transfers\n```\n## Going live\nWhen going live, your Adyen contact will provide your API credential for the live environment. You can then use the username and password to send requests to `https://balanceplatform-api-live.adyen.com/btl/v1`.\n\n", - "x-timestamp" : "2023-06-12T13:25:58Z", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Developer Experience team", @@ -797,6 +796,7 @@ "bankTransfer", "capture", "captureReversal", + "cardTransfer", "chargeback", "chargebackReversal", "depositCorrection", diff --git a/json/TransferService-v2.json b/json/TransferService-v2.json index a86bff02..3644dc1c 100644 --- a/json/TransferService-v2.json +++ b/json/TransferService-v2.json @@ -10,7 +10,6 @@ "x-publicVersion" : true, "title" : "Transfers API", "description" : "This API provides endpoints that you can use to transfer funds, whether when [paying out to a transfer instrument](https://docs.adyen.com/marketplaces-and-platforms/payout-to-users/on-demand-payouts), [sending funds to third parties](https://docs.adyen.com/marketplaces-and-platforms/business-accounts/send-receive-funds) for users with business bank accounts, or to [request a payout for a grant offer](https://docs.adyen.com/marketplaces-and-platforms/capital). The API also supports use cases for [getting transactions for business bank accounts](https://docs.adyen.com/marketplaces-and-platforms/business-accounts/transactions-api) and getting [grants and its outstanding balances](https://docs.adyen.com/marketplaces-and-platforms/capital#get-balances). .\n\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-U \"ws@BalancePlatform.YOUR_BALANCE_PLATFORM\":\"YOUR_WS_PASSWORD\" \\\n...\n```\n## Roles and permissions\nTo use the Transfers API, you need an additional role for your API credential. Transfers must also be enabled for the source balance account. Your Adyen contact will set up the roles and permissions for you.\n## Versioning\nThe Transfers API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://balanceplatform-api-test.adyen.com/btl/v2/transfers\n```\n## Going live\nWhen going live, your Adyen contact will provide your API credential for the live environment. You can then use the username and password to send requests to `https://balanceplatform-api-live.adyen.com/btl/v2`.\n\n", - "x-timestamp" : "2023-06-12T13:25:58Z", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Developer Experience team", @@ -833,6 +832,7 @@ "bankTransfer", "capture", "captureReversal", + "cardTransfer", "chargeback", "chargebackReversal", "depositCorrection", diff --git a/json/TransferService-v3.json b/json/TransferService-v3.json index 5c45bac4..56b81aff 100644 --- a/json/TransferService-v3.json +++ b/json/TransferService-v3.json @@ -913,6 +913,9 @@ { "$ref" : "#/components/schemas/NOLocalAccountIdentification" }, + { + "$ref" : "#/components/schemas/NZLocalAccountIdentification" + }, { "$ref" : "#/components/schemas/NumberAndBicAccountIdentification" }, @@ -1394,6 +1397,44 @@ ], "type" : "object" }, + "NZLocalAccountIdentification" : { + "additionalProperties" : false, + "properties" : { + "accountNumber" : { + "description" : "The 7-digit bank account number, without separators or whitespace.", + "maxLength" : 7, + "minLength" : 7, + "type" : "string" + }, + "accountSuffix" : { + "description" : "The 2- to 3-digit account suffix, without separators or whitespace.", + "maxLength" : 3, + "minLength" : 2, + "type" : "string" + }, + "bankCode" : { + "description" : "The 6-digit bank code including the 2-digit bank code and 4-digit branch code, without separators or whitespace.", + "maxLength" : 6, + "minLength" : 6, + "type" : "string" + }, + "type" : { + "default" : "nzLocal", + "description" : "**nzLocal**", + "enum" : [ + "nzLocal" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "accountNumber", + "accountSuffix", + "bankCode" + ], + "type" : "object" + }, "NameLocation" : { "properties" : { "city" : { @@ -1488,7 +1529,7 @@ "$ref" : "#/components/schemas/Address-2" }, "dateOfBirth" : { - "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before 1st January 1900.\n\nAllowed only when `type` is **individual**.", + "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900.\n\nAllowed only when `type` is **individual**.", "format" : "date", "type" : "string" }, @@ -1505,7 +1546,7 @@ "type" : "string" }, "reference" : { - "description" : "Your unique reference of the party. This should be consistent for all transfers initiated to/from the same party/counterparty. e.g Your client's unique wallet or payee ID", + "description" : "A unique reference to identify the party or counterparty involved in transfers. This identifier ensures consistency and uniqueness throughout all transactions initiated to and from the same party. For example, your client's unique wallet or payee ID.", "type" : "string" }, "type" : { @@ -1835,6 +1876,7 @@ "bankTransfer", "capture", "captureReversal", + "cardTransfer", "chargeback", "chargebackReversal", "depositCorrection", @@ -2257,7 +2299,7 @@ "$ref" : "#/components/schemas/Address-2" }, "dateOfBirth" : { - "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before 1st January 1900.\n\nAllowed only when `type` is **individual**.", + "description" : "The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900.\n\nAllowed only when `type` is **individual**.", "format" : "date", "type" : "string" }, @@ -2274,7 +2316,7 @@ "type" : "string" }, "reference" : { - "description" : "Your unique reference of the party. This should be consistent for all transfers initiated to/from the same party/counterparty. e.g Your client's unique wallet or payee ID", + "description" : "A unique reference to identify the party or counterparty involved in transfers. This identifier ensures consistency and uniqueness throughout all transactions initiated to and from the same party. For example, your client's unique wallet or payee ID.", "type" : "string" }, "type" : { diff --git a/yaml/BalancePlatformAcsNotification-v1.yaml b/yaml/BalancePlatformAcsNotification-v1.yaml new file mode 100644 index 00000000..59d622ae --- /dev/null +++ b/yaml/BalancePlatformAcsNotification-v1.yaml @@ -0,0 +1,419 @@ +openapi: 3.1.0 +info: + version: '1' + x-publicVersion: true + title: Authentication webhooks + description: Adyen sends webhooks to inform your system about events related to + cardholder authentication. + termsOfService: https://www.adyen.com/legal/terms-and-conditions + contact: + name: Adyen Developer Experience team + url: https://github.com/Adyen/adyen-openapi +x-groups: +- General +tags: [] +webhooks: + balancePlatform.authentication.created: + post: + tags: + - General + summary: Cardholder authenticated + description: Adyen sends this webhook when the process of cardholder authentication + is finalized, whether it is completed successfully, fails, or expires. + x-addedInVersion: '1' + operationId: post-balancePlatform.authentication.created + x-groupName: General + x-sortIndex: 1 + x-methodName: cardholderAuthenticated + security: + - BasicAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationNotificationRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BalancePlatformNotificationResponse' + description: OK - the request has succeeded. +components: + schemas: + Amount: + properties: + currency: + description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + maxLength: 3 + minLength: 3 + type: string + value: + description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + format: int64 + type: integer + required: + - value + - currency + type: object + AuthenticationInfo: + properties: + acsTransId: + description: Universally unique transaction identifier assigned by the Access + Control Server (ACS) to identify a single transaction. + type: string + challenge: + description: Information about Strong Customer Authentication (SCA). Returned + when `type` is **challenge**. + $ref: '#/components/schemas/ChallengeInfo' + challengeIndicator: + description: 'Specifies a preference for receiving a challenge. Possible + values: + + + * **01**: No preference + + * **02**: No challenge requested + + * **03**: Challenge requested (preference) + + * **04**: Challenge requested (mandate) + + * **05**: No challenge requested (transactional risk analysis is already + performed) + + * **07**: No challenge requested (SCA is already performed) + + * **08**: No challenge requested (trusted beneficiaries exemption of no + challenge required) + + * **09**: Challenge requested (trusted beneficiaries prompt requested + if challenge required) + + * **80**: No challenge requested (secure corporate payment with Mastercard) + + * **82**: No challenge requested (secure corporate payment with Visa) + + ' + enum: + - '01' + - '02' + - '03' + - '04' + - '05' + - '07' + - 08 + - 09 + - '80' + - '82' + type: string + createdAt: + description: "Date and time in UTC of the cardholder authentication. \n\n\ + [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format: YYYY-MM-DDThh:mm:ss+TZD,\ + \ for example, **2020-12-18T10:15:30+01:00**." + format: date-time + type: string + deviceChannel: + description: 'Indicates the type of channel interface being used to initiate + the transaction. Possible values: + + + * **app** + + * **browser** + + * **3DSRequestorInitiated** (initiated by a merchant when the cardholder + is not available)' + enum: + - app + - browser + - ThreeDSRequestorInitiated + type: string + dsTransID: + description: Universally unique transaction identifier assigned by the DS + (card scheme) to identify a single transaction. + type: string + exemptionIndicator: + description: 'Indicates the exemption type that was applied to the authentication + by the issuer, if exemption applied. Possible values: + + + * **lowValue** + + * **secureCorporate** + + * **trustedBeneficiary** + + * **transactionRiskAnalysis** + + ' + enum: + - lowValue + - secureCorporate + - trustedBeneficiary + - transactionRiskAnalysis + type: string + inPSD2Scope: + description: Indicates if the purchase was in the PSD2 scope. + type: boolean + messageCategory: + description: 'Identifies the category of the message for a specific use + case. Possible values: + + + * **payment** + + * **nonPayment**' + enum: + - payment + - nonPayment + type: string + messageVersion: + description: The `messageVersion` value as defined in the 3D Secure 2 specification. + type: string + riskScore: + description: Risk score calculated from the transaction rules. + format: int32 + type: integer + threeDSServerTransID: + description: The `threeDSServerTransID` value as defined in the 3D Secure + 2 specification. + type: string + transStatus: + description: 'The `transStatus` value as defined in the 3D Secure 2 specification. + Possible values: + + + * **Y**: Authentication / Account verification successful. + + * **N**: Not Authenticated / Account not verified. Transaction denied. + + * **U**: Authentication / Account verification could not be performed. + + * **I**: Informational Only / 3D Secure Requestor challenge preference + acknowledged. + + * **R**: Authentication / Account verification rejected by the Issuer. + + ' + enum: + - Y + - N + - R + - I + - U + type: string + transStatusReason: + description: Provides information on why the `transStatus` field has the + specified value. For possible values, refer to [our docs](https://docs.adyen.com/online-payments/3d-secure/api-reference#possible-transstatusreason-values). + enum: + - '01' + - '02' + - '03' + - '04' + - '05' + - '06' + - '07' + - 08 + - 09 + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '80' + - '81' + - '82' + - '83' + - '84' + - '85' + - '86' + - '87' + - '88' + type: string + type: + description: 'The type of authentication performed. Possible values: + + + * **frictionless** + + * **challenge**' + enum: + - frictionless + - challenge + type: string + required: + - challengeIndicator + - dsTransID + - messageVersion + - threeDSServerTransID + - transStatus + - transStatusReason + - createdAt + - type + - inPSD2Scope + - deviceChannel + - messageCategory + - acsTransId + type: object + AuthenticationNotificationData: + properties: + authentication: + description: Information about the authentication. + $ref: '#/components/schemas/AuthenticationInfo' + balancePlatform: + description: The unique identifier of the balance platform. + type: string + id: + description: Unique identifier of the authentication. + type: string + paymentInstrumentId: + description: Unique identifier of the payment instrument that was used for + the authentication. + type: string + purchase: + description: Information about the purchase. + $ref: '#/components/schemas/PurchaseInfo' + status: + description: 'Outcome of the authentication. + + Allowed values: + + * authenticated + + * rejected + + * error' + enum: + - authenticated + - rejected + - error + type: string + required: + - id + - paymentInstrumentId + - status + - authentication + - purchase + type: object + AuthenticationNotificationRequest: + properties: + data: + description: Contains event details. + $ref: '#/components/schemas/AuthenticationNotificationData' + environment: + description: 'The environment from which the webhook originated. + + + Possible values: **test**, **live**.' + type: string + type: + description: Type of notification. + enum: + - balancePlatform.authentication.created + type: string + required: + - environment + - type + - data + type: object + 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 + type: object + ChallengeInfo: + properties: + challengeCancel: + description: Indicator informing the Access Control Server (ACS) and the + Directory Server (DS) that the authentication has been cancelled. For + possible values, refer to [3D Secure API reference](https://docs.adyen.com/online-payments/3d-secure/api-reference#mpidata). + enum: + - '01' + - '02' + - '03' + - '04' + - '05' + - '06' + - '07' + type: string + flow: + description: 'The flow used in the challenge. Possible values: + + + * **OTP_SMS**: one-time password (OTP) flow + + * **OOB**: out-of-band (OOB) flow' + enum: + - OTP_SMS + - OOB + type: string + lastInteraction: + description: The last time of interaction with the challenge. + format: date-time + type: string + phoneNumber: + description: The last four digits of the phone number used in the challenge. + type: string + resends: + description: The number of times the one-time password (OTP) was resent + during the challenge. + format: int32 + type: integer + retries: + description: The number of retries used in the challenge. + format: int32 + type: integer + required: + - flow + - lastInteraction + type: object + PurchaseInfo: + properties: + date: + description: Date of the purchase. + type: string + merchantName: + description: Name of the merchant. + type: string + originalAmount: + description: Amount of the purchase. + $ref: '#/components/schemas/Amount' + required: + - merchantName + - date + - originalAmount + type: object + Resource: + properties: + balancePlatform: + description: The unique identifier of the balance platform. + type: string + creationDate: + description: The date and time when the event was triggered, in ISO 8601 + extended format. For example, **2020-12-18T10:15:30+01:00**. + format: date-time + type: string + id: + description: The ID of the resource. + type: string + type: object + securitySchemes: + BasicAuth: + scheme: basic + type: http + examples: {} diff --git a/yaml/BalancePlatformPaymentNotification-v1.yaml b/yaml/BalancePlatformPaymentNotification-v1.yaml index 377eae40..5f5dd652 100644 --- a/yaml/BalancePlatformPaymentNotification-v1.yaml +++ b/yaml/BalancePlatformPaymentNotification-v1.yaml @@ -14,7 +14,6 @@ info: You can use these webhooks to build your implementation. For example, you can use this information to update balances in your own dashboards or to keep track of incoming funds.' - x-timestamp: '2023-06-09T18:25:00Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team diff --git a/yaml/BalancePlatformTransferNotification-v3.yaml b/yaml/BalancePlatformTransferNotification-v3.yaml index 2946b81b..1a2cc1fe 100644 --- a/yaml/BalancePlatformTransferNotification-v3.yaml +++ b/yaml/BalancePlatformTransferNotification-v3.yaml @@ -268,6 +268,7 @@ components: - $ref: '#/components/schemas/HULocalAccountIdentification' - $ref: '#/components/schemas/IbanAccountIdentification' - $ref: '#/components/schemas/NOLocalAccountIdentification' + - $ref: '#/components/schemas/NZLocalAccountIdentification' - $ref: '#/components/schemas/NumberAndBicAccountIdentification' - $ref: '#/components/schemas/PLLocalAccountIdentification' - $ref: '#/components/schemas/SELocalAccountIdentification' @@ -459,6 +460,37 @@ components: - type - accountNumber type: object + NZLocalAccountIdentification: + additionalProperties: false + properties: + accountNumber: + description: The 7-digit bank account number, without separators or whitespace. + maxLength: 7 + minLength: 7 + type: string + accountSuffix: + description: The 2- to 3-digit account suffix, without separators or whitespace. + maxLength: 3 + minLength: 2 + type: string + bankCode: + description: The 6-digit bank code including the 2-digit bank code and 4-digit + branch code, without separators or whitespace. + maxLength: 6 + minLength: 6 + type: string + type: + default: nzLocal + description: '**nzLocal**' + enum: + - nzLocal + type: string + required: + - type + - accountNumber + - accountSuffix + - bankCode + type: object NameLocation: properties: city: @@ -536,8 +568,7 @@ components: $ref: '#/components/schemas/Address' dateOfBirth: description: 'The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) - format. For example, **YYYY-MM-DD**. Should not be before 1st January - 1900. + format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900. Allowed only when `type` is **individual**.' @@ -559,9 +590,10 @@ components: Allowed only when `type` is **individual**.' type: string reference: - description: Your unique reference of the party. This should be consistent - for all transfers initiated to/from the same party/counterparty. e.g Your - client's unique wallet or payee ID + description: A unique reference to identify the party or counterparty involved + in transfers. This identifier ensures consistency and uniqueness throughout + all transactions initiated to and from the same party. For example, your + client's unique wallet or payee ID. type: string type: default: unknown @@ -888,6 +920,20 @@ components: field. description: The payment's merchant reference included in the transfer. type: string + platformPaymentType: + x-addedInVersion: '3' + deprecated: true + x-deprecatedInVersion: '3' + x-deprecatedMessage: This will be removed in v4 and replaced with a new + field. + description: The type of the related split. + enum: + - BalanceAccount + - Commission + - Default + - PaymentFee + - VAT + type: string priority: x-addedInVersion: '3' description: 'The priority for the bank transfer. This sets the speed at @@ -1108,6 +1154,7 @@ components: - bankTransfer - capture - captureReversal + - cardTransfer - chargeback - chargebackReversal - depositCorrection diff --git a/yaml/TransferService-v1.yaml b/yaml/TransferService-v1.yaml index a75b4d27..d3acd28a 100644 --- a/yaml/TransferService-v1.yaml +++ b/yaml/TransferService-v1.yaml @@ -27,7 +27,6 @@ info: ```\n## Going live\nWhen going live, your Adyen contact will provide your API\ \ credential for the live environment. You can then use the username and password\ \ to send requests to `https://balanceplatform-api-live.adyen.com/btl/v1`.\n\n" - x-timestamp: '2023-06-12T13:25:58Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team @@ -623,6 +622,7 @@ components: - bankTransfer - capture - captureReversal + - cardTransfer - chargeback - chargebackReversal - depositCorrection diff --git a/yaml/TransferService-v2.yaml b/yaml/TransferService-v2.yaml index 7f1a424b..c580420b 100644 --- a/yaml/TransferService-v2.yaml +++ b/yaml/TransferService-v2.yaml @@ -27,7 +27,6 @@ info: ```\n## Going live\nWhen going live, your Adyen contact will provide your API\ \ credential for the live environment. You can then use the username and password\ \ to send requests to `https://balanceplatform-api-live.adyen.com/btl/v2`.\n\n" - x-timestamp: '2023-06-12T13:25:58Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team @@ -676,6 +675,7 @@ components: - bankTransfer - capture - captureReversal + - cardTransfer - chargeback - chargebackReversal - depositCorrection diff --git a/yaml/TransferService-v3.yaml b/yaml/TransferService-v3.yaml index fd5eae24..9ae4b2a4 100644 --- a/yaml/TransferService-v3.yaml +++ b/yaml/TransferService-v3.yaml @@ -626,6 +626,7 @@ components: - $ref: '#/components/schemas/HULocalAccountIdentification' - $ref: '#/components/schemas/IbanAccountIdentification' - $ref: '#/components/schemas/NOLocalAccountIdentification' + - $ref: '#/components/schemas/NZLocalAccountIdentification' - $ref: '#/components/schemas/NumberAndBicAccountIdentification' - $ref: '#/components/schemas/PLLocalAccountIdentification' - $ref: '#/components/schemas/SELocalAccountIdentification' @@ -995,6 +996,37 @@ components: - type - accountNumber type: object + NZLocalAccountIdentification: + additionalProperties: false + properties: + accountNumber: + description: The 7-digit bank account number, without separators or whitespace. + maxLength: 7 + minLength: 7 + type: string + accountSuffix: + description: The 2- to 3-digit account suffix, without separators or whitespace. + maxLength: 3 + minLength: 2 + type: string + bankCode: + description: The 6-digit bank code including the 2-digit bank code and 4-digit + branch code, without separators or whitespace. + maxLength: 6 + minLength: 6 + type: string + type: + default: nzLocal + description: '**nzLocal**' + enum: + - nzLocal + type: string + required: + - type + - accountNumber + - accountSuffix + - bankCode + type: object NameLocation: properties: city: @@ -1072,8 +1104,7 @@ components: $ref: '#/components/schemas/Address-2' dateOfBirth: description: 'The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) - format. For example, **YYYY-MM-DD**. Should not be before 1st January - 1900. + format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900. Allowed only when `type` is **individual**.' @@ -1095,9 +1126,10 @@ components: Allowed only when `type` is **individual**.' type: string reference: - description: Your unique reference of the party. This should be consistent - for all transfers initiated to/from the same party/counterparty. e.g Your - client's unique wallet or payee ID + description: A unique reference to identify the party or counterparty involved + in transfers. This identifier ensures consistency and uniqueness throughout + all transactions initiated to and from the same party. For example, your + client's unique wallet or payee ID. type: string type: default: unknown @@ -1382,6 +1414,7 @@ components: - bankTransfer - capture - captureReversal + - cardTransfer - chargeback - chargebackReversal - depositCorrection @@ -1849,8 +1882,7 @@ components: $ref: '#/components/schemas/Address-2' dateOfBirth: description: 'The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) - format. For example, **YYYY-MM-DD**. Should not be before 1st January - 1900. + format. For example, **YYYY-MM-DD**. Should not be before January 1, 1900. Allowed only when `type` is **individual**.' @@ -1872,9 +1904,10 @@ components: Allowed only when `type` is **individual**.' type: string reference: - description: Your unique reference of the party. This should be consistent - for all transfers initiated to/from the same party/counterparty. e.g Your - client's unique wallet or payee ID + description: A unique reference to identify the party or counterparty involved + in transfers. This identifier ensures consistency and uniqueness throughout + all transactions initiated to and from the same party. For example, your + client's unique wallet or payee ID. type: string type: default: unknown