From 40ba4fe635d99f3e33413a9bf936ed8b2e7026e7 Mon Sep 17 00:00:00 2001 From: aleksei Date: Fri, 5 Mar 2021 11:58:55 +0100 Subject: [PATCH] Updated json specs --- json/AccountService-v3.json | 1693 +++++++- json/AccountService-v4.json | 1491 ++++++- json/AccountService-v5.json | 1739 +++++++- json/AccountService-v6.json | 1752 +++++++- json/BinLookupService-v40.json | 285 +- json/BinLookupService-v50.json | 294 +- json/CheckoutService-v37.json | 2686 ++++++++++-- json/CheckoutService-v40.json | 2955 +++++++++++-- json/CheckoutService-v41.json | 3090 ++++++++++++-- json/CheckoutService-v46.json | 3099 ++++++++++++-- json/CheckoutService-v49.json | 3535 +++++++++++++--- json/CheckoutService-v50.json | 3592 +++++++++++++--- json/CheckoutService-v51.json | 3591 +++++++++++++--- json/CheckoutService-v52.json | 3597 +++++++++++++--- json/CheckoutService-v53.json | 3604 +++++++++++++--- json/CheckoutService-v64.json | 3659 ++++++++++++++--- json/FundService-v3.json | 440 +- json/FundService-v5.json | 476 ++- json/FundService-v6.json | 476 ++- json/HopService-v1.json | 238 +- json/HopService-v5.json | 234 +- json/HopService-v6.json | 234 +- json/MarketPayNotificationService-v3.json | 335 +- json/MarketPayNotificationService-v4.json | 368 +- json/MarketPayNotificationService-v5.json | 440 +- json/MarketPayNotificationService-v6.json | 456 +- json/NotificationConfigurationService-v1.json | 15 +- json/NotificationConfigurationService-v2.json | 15 +- json/NotificationConfigurationService-v3.json | 15 +- json/NotificationConfigurationService-v4.json | 15 +- json/NotificationConfigurationService-v5.json | 42 +- json/NotificationConfigurationService-v6.json | 42 +- json/PaymentService-v25.json | 1261 +++++- json/PaymentService-v30.json | 1577 +++++-- json/PaymentService-v40.json | 1908 +++++++-- json/PaymentService-v46.json | 1955 +++++++-- json/PaymentService-v49.json | 1970 +++++++-- json/PaymentService-v50.json | 1988 +++++++-- json/PaymentService-v51.json | 2039 +++++++-- json/PaymentService-v52.json | 2045 +++++++-- json/PaymentService-v64.json | 2046 +++++++-- json/PayoutService-v30.json | 955 ++++- json/PayoutService-v40.json | 1000 ++++- json/PayoutService-v50.json | 1028 ++++- json/PayoutService-v51.json | 1029 ++++- json/PayoutService-v52.json | 1037 ++++- json/PayoutService-v64.json | 1038 ++++- json/RecurringService-v25.json | 203 +- json/RecurringService-v30.json | 203 +- json/RecurringService-v40.json | 205 +- json/RecurringService-v49.json | 213 +- json/TestCardService-v1.json | 77 +- 52 files changed, 59197 insertions(+), 9083 deletions(-) diff --git a/json/AccountService-v3.json b/json/AccountService-v3.json index 5bd4474..cb1a6ec 100644 --- a/json/AccountService-v3.json +++ b/json/AccountService-v3.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "3", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Account API", - "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v3/createAccountHolder\n```", + "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v3/createAccountHolder\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -32,6 +33,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "closeAccount" : { + "$ref" : "#/components/examples/post-closeAccount-closeAccount" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountRequest" } @@ -50,19 +56,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -77,6 +128,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-closeAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountHolderRequest" } @@ -95,19 +151,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,6 +223,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-createAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountRequest" } @@ -140,19 +246,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +318,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "business" : { + "$ref" : "#/components/examples/post-createAccountHolder-business" + }, + "individual" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountHolderRequest" } @@ -177,6 +336,14 @@ "200" : { "content" : { "application/json" : { + "examples" : { + "business-200" : { + "$ref" : "#/components/examples/post-createAccountHolder-business-200" + }, + "individual-200" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual-200" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountHolderResponse" } @@ -185,19 +352,82 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/post-createAccountHolder-generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "business-422" : { + "$ref" : "#/components/examples/post-createAccountHolder-business-422" + }, + "individual-422" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/post-createAccountHolder-generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -212,6 +442,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteBankAccounts-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteBankAccountRequest" } @@ -230,19 +465,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -257,6 +537,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteShareholders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteShareholderRequest" } @@ -275,19 +560,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -302,6 +632,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "accountCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountCode" + }, + "accountHolderCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountHolderCode" + } + }, "schema" : { "$ref" : "#/components/schemas/GetAccountHolderRequest" } @@ -320,19 +658,154 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getTaxForm" : { + "post" : { + "summary" : "Request a tax form for an account holder.", + "description" : "This endpoint allows to generate a tax form for an account holder.", + "operationId" : "post-getTaxForm", + "x-groupName" : "Account holders", + "x-sortIndex" : 8, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -340,13 +813,18 @@ "/getUploadedDocuments" : { "post" : { "summary" : "Retrieve the uploaded documents of an existing account holder.", - "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-getUploadedDocuments", "x-groupName" : "Verification", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-getUploadedDocuments-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/GetUploadedDocumentsRequest" } @@ -365,19 +843,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -392,6 +915,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-suspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/SuspendAccountHolderRequest" } @@ -410,19 +938,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -430,13 +1003,18 @@ "/unSuspendAccountHolder" : { "post" : { "summary" : "Reinstate a disabled account holder.", - "description" : "This endpoint is used to reinstate an existing account holder, which has been suspended through the `/suspendAccountHolder` endpoint. An account holder which has been suspended due to KYC verification issues cannot be reinstated through this endpoint.", + "description" : "This endpoint is used to reinstate an existing account holder that has been suspended either through the `/suspendAccountHolder` endpoint or because a KYC deadline expired.\n\nHowever, an account holder that has been suspended by Adyen because of KYC verification issues (indicated by a **FAILED** verification [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status)) cannot be reinstated through this endpoint.", "operationId" : "post-unSuspendAccountHolder", "x-groupName" : "Account holders", "x-sortIndex" : 6, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-unSuspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UnSuspendAccountHolderRequest" } @@ -455,19 +1033,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -482,6 +1105,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountRequest" } @@ -500,19 +1128,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -527,6 +1200,20 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "general" : { + "$ref" : "#/components/examples/post-updateAccountHolder-general" + }, + "bankAccountDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-bankAccountDetails" + }, + "addShareholders" : { + "$ref" : "#/components/examples/post-updateAccountHolder-addShareholders" + }, + "businessDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-businessDetails" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderRequest" } @@ -545,19 +1232,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -565,13 +1297,18 @@ "/updateAccountHolderState" : { "post" : { "summary" : "Update the state of an existing account holder.", - "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder. It cannot be used to enable an account holder whose processing or payout state has not been disabled through this endpoint.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", + "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", "operationId" : "post-updateAccountHolderState", "x-groupName" : "Account holders", "x-sortIndex" : 4, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccountHolderState-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderStateRequest" } @@ -590,19 +1327,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -610,13 +1392,18 @@ "/uploadDocument" : { "post" : { "summary" : "Upload a document for an existing account holder.", - "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-uploadDocument", "x-groupName" : "Verification", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-uploadDocument-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UploadDocumentRequest" } @@ -635,19 +1422,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -678,7 +1510,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -708,14 +1540,14 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -727,7 +1559,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -807,6 +1639,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -832,6 +1665,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -847,7 +1681,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1040,6 +1874,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1061,7 +1896,7 @@ "CreateAccountHolderRequest" : { "properties" : { "accountHolderCode" : { - "description" : "The desired code of the prospective account holder.\n> Must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are permitted.", + "description" : "Your unique identifier for the prospective account holder.\nThe length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed.", "type" : "string" }, "accountHolderDetails" : { @@ -1069,11 +1904,11 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "createDefaultAccount" : { - "description" : "If set to true, an account with the default options is created for this account holder.\n**Default Value:** true", + "description" : "If set to **true**, an account with the default options is automatically created for the account holder.\nBy default, this field is set to **true**.", "type" : "boolean" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -1084,7 +1919,8 @@ "type" : "string" }, "processingTier" : { - "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks#tiers) for the prospective account holder.", + "x-addedInVersion" : 3, + "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.", "format" : "int32", "type" : "integer" } @@ -1110,10 +1946,12 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1133,8 +1971,9 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1202,6 +2041,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1263,11 +2103,13 @@ "DocumentDetail" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 2, "description" : "The code of account holder, to which the document applies.", "type" : "string" }, "bankAccountUUID" : { - "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the documentType is `BANK_STATEMENT` (i.e., a document is being submitted in order to verify a bank account).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", + "x-addedInVersion" : 2, + "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account.\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", "type" : "string" }, "description" : { @@ -1275,11 +2117,12 @@ "type" : "string" }, "documentType" : { - "description" : "The type of a document. Permitted values:\n* `BANK_STATEMENT` denotes an image containing a bank statement or other document proving ownership of a specific bank account.\n* `PASSPORT` denotes an image containing the identity page(s) of a passport.\n* `ID_CARD_FRONT` denotes an image containing only the front of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `ID_CARD_BACK` denotes an image containing only the back of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `DRIVING_LICENCE_FRONT` denotes an image containing only the front of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_BACK` must be submitted.\n* `DRIVING_LICENCE_BACK` denotes an image containing only the back of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_FRONT` must be submitted.\n\n>Please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks) for details on when each document type should be submitted.", + "description" : "The type of the document. Refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks) for details on when each document type should be submitted and for the accepted file formats.\n\nPermitted values:\n* **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account.\n* **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document.\n* **PASSPORT**: A file containing the identity page(s) of a passport.\n* **ID_CARD_FRONT**: A file containing only the front of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **ID_CARD_BACK**: A file containing only the back of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **DRIVING_LICENCE_FRONT**: A file containing only the front of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_BACK** must be submitted.\n* **DRIVING_LICENCE_BACK**: A file containing only the back of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_FRONT** must be submitted.\n", "enum" : [ "BANK_STATEMENT", "BSN", "COMPANY_REGISTRATION_SCREENING", + "CONSTITUTIONAL_DOCUMENT", "DRIVING_LICENCE", "DRIVING_LICENCE_BACK", "DRIVING_LICENCE_FRONT", @@ -1297,7 +2140,8 @@ "type" : "string" }, "shareholderCode" : { - "description" : "The code of the shareholder, to which the document applies.\n>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type `Business` and the `documentType` is either `PASSPORT`, `ID_CARD_FRONT`, `ID_CARD_BACK`, `DRIVING_LICENCE_FRONT`, `DRIVING_LICENCE_BACK` (i.e. a document is being submitted in order to verify a shareholder).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", + "x-addedInVersion" : 2, + "description" : "The code of the shareholder, to which the document applies. Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) for details on when a document should be submitted in order to verify a shareholder.>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. \n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", "type" : "string" } }, @@ -1356,6 +2200,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1376,6 +2221,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1387,7 +2233,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1419,8 +2277,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1439,7 +2302,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1488,6 +2352,7 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1522,8 +2387,9 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1541,6 +2407,7 @@ "type" : "string" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the Account Holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1562,6 +2429,53 @@ "accountHolderStatus" ] }, + "GetTaxFormRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "formType" : { + "description" : "Type of the requested tax form. For example, 1099-K.", + "type" : "string" + }, + "year" : { + "description" : "Applicable tax year in the YYYY format.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "accountHolderCode", + "formType", + "year" + ] + }, + "GetTaxFormResponse" : { + "properties" : { + "content" : { + "description" : "The content of the tax form in the Base64 binary format.", + "format" : "byte", + "type" : "string" + }, + "contentType" : { + "description" : "The content type of the tax form.", + "type" : "string" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + }, + "submittedAsync" : { + "description" : "Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:\n* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.\n* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.", + "type" : "boolean" + } + } + }, "GetUploadedDocumentsRequest" : { "properties" : { "accountHolderCode" : { @@ -1569,6 +2483,7 @@ "type" : "string" }, "bankAccountUUID" : { + "x-addedInVersion" : 2, "description" : "The code of the Bank Account for which to retrieve the documents.", "type" : "string" }, @@ -1631,7 +2546,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -1676,10 +2591,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1720,11 +2642,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -1811,6 +2733,26 @@ "type" ] }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShareholderContact" : { "properties" : { "address" : { @@ -1825,12 +2767,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -1838,7 +2784,15 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -1926,6 +2880,7 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "processingTier" : { + "x-addedInVersion" : 3, "description" : "The processing tier to which the Account Holder should be updated.\n>The processing tier can not be lowered through this request.\n\n>Required if accountHolderDetails are not provided.", "format" : "int32", "type" : "integer" @@ -1946,10 +2901,12 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1976,8 +2933,9 @@ "type" : "array" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -2030,7 +2988,8 @@ } }, "required" : [ - "accountCode" + "accountCode", + "payoutSchedule" ] }, "UpdateAccountResponse" : { @@ -2113,7 +3072,7 @@ "type" : "string" }, "documentContent" : { - "description" : "The content of the document as represented by a Base64-encoded string.\n\nTo learn about requirements, see [Bank account check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/bank-account-check#requirements) and [Photo ID check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/photo-id-check#requirements).", + "description" : "The content of the document, in Base64-encoded string format.\n\nTo learn about document requirements, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "format" : "byte", "type" : "string" }, @@ -2128,7 +3087,6 @@ } }, "required" : [ - "accountHolderCode", "documentDetail", "documentContent" ] @@ -2178,7 +3136,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2192,8 +3149,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2203,6 +3159,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2259,6 +3216,508 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "generic-403" : { + "summary" : "Response code 401. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "10_003", + "message" : "Failed to authorize user", + "errorType" : "security" + } + }, + "post-closeAccount-closeAccount" : { + "summary" : "Close an account", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-closeAccountHolder-basic" : { + "summary" : "Close an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccount-basic" : { + "summary" : "Add an account to an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccountHolder-business" : { + "summary" : "Create a business account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "businessDetails" : { + "doingBusinessAs" : "Real Good Restaurant", + "legalBusinessName" : "Real Good Restaurant Inc.", + "shareholders" : [ + { + "ShareholderContact" : { + "name" : { + "firstName" : "John", + "gender" : "MALE", + "lastName" : "Carpenter" + } + } + } + ] + }, + "email" : "test@adyen.com" + }, + "legalEntity" : "Business" + } + }, + "post-createAccountHolder-business-200" : { + "summary" : "Response code 200. Success.", + "value" : { + "invalidFields" : [ + ], + "pspReference" : "8816080397613514", + "accountCode" : "8816080397613522", + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "address" : { + "country" : "US" + }, + "bankAccountDetails" : [ + ], + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "merchantCategoryCode" : "7999", + "payoutMethods" : [ + ], + "webAddress" : null + }, + "accountHolderStatus" : { + "status" : "Active", + "processingState" : { + "disabled" : false, + "processedFrom" : { + "currency" : "USD", + "value" : 0 + }, + "processedTo" : { + "currency" : "USD", + "value" : 9999 + }, + "tierNumber" : 0 + }, + "payoutState" : { + "allowPayout" : false, + "disabled" : false + }, + "events" : [ + ] + }, + "legalEntity" : "Individual", + "verification" : { + "accountHolder" : { + "checks" : [ + { + "type" : "IDENTITY_VERIFICATION", + "status" : "AWAITING_DATA", + "requiredFields" : [ + "AccountHolderDetails.IndividualDetails.PersonalData.personalData", + "AccountHolderDetails.Address.city", + "AccountHolderDetails.Address.houseNumberOrName", + "AccountHolderDetails.Address.postalCode", + "AccountHolderDetails.Address.street", + "AccountHolderDetails.IndividualDetails.PersonalData.idNumber", + "AccountHolderDetails.PhoneNumber.phoneNumber" + ] + }, + { + "type" : "PAYOUT_METHOD_VERIFICATION", + "status" : "AWAITING_DATA", + "requiredFields" : [ + "AccountHolderDetails.BankAccountDetails.bankAccount" + ] + } + ] + } + } + } + }, + "post-createAccountHolder-business-422" : { + "summary" : "Response code 422. Unprocessable Entity.", + "value" : { + "invalidFields" : [ + { + "errorCode" : 23, + "errorDescription" : "Account holder code does not exists or invalid", + "fieldType" : { + "field" : "accountHolderCode", + "fieldName" : "accountHolderCode" + } + } + ], + "pspReference" : "8816080407386622" + } + }, + "post-createAccountHolder-generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "post-createAccountHolder-generic-500" : { + "summary" : "Response code 500. Internal Server Error.", + "value" : { + "status" : 500, + "errorCode" : "701", + "message" : "Internal Error in createAccountHolder 991608040809302G", + "errorType" : "internal" + } + }, + "post-createAccountHolder-individual" : { + "summary" : "Create an individual account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + } + }, + "legalEntity" : "Individual" + } + }, + "post-createAccountHolder-individual-200" : { + "summary" : "Response code 200. Success.", + "value" : { + "invalidFields" : [ + ], + "pspReference" : "8516080413108716", + "accountCode" : "8516080413108724", + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "address" : { + "country" : "US" + }, + "bankAccountDetails" : [ + ], + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "merchantCategoryCode" : "7999", + "payoutMethods" : [ + ], + "webAddress" : null + }, + "accountHolderStatus" : { + "status" : "Active", + "processingState" : { + "disabled" : false, + "processedFrom" : { + "currency" : "USD", + "value" : 0 + }, + "processedTo" : { + "currency" : "USD", + "value" : 9999 + }, + "tierNumber" : 0 + }, + "payoutState" : { + "allowPayout" : false, + "disabled" : false + }, + "events" : [ + ] + }, + "legalEntity" : "Individual", + "verification" : { + "accountHolder" : { + "checks" : [ + { + "type" : "IDENTITY_VERIFICATION", + "status" : "AWAITING_DATA", + "requiredFields" : [ + "AccountHolderDetails.Address.city", + "AccountHolderDetails.Address.houseNumberOrName", + "AccountHolderDetails.Address.postalCode", + "AccountHolderDetails.Address.street", + "AccountHolderDetails.IndividualDetails.PersonalData.idNumber", + "AccountHolderDetails.PhoneNumber.phoneNumber", + "AccountHolderDetails.IndividualDetails.PersonalData.personalData" + ] + }, + { + "type" : "PAYOUT_METHOD_VERIFICATION", + "status" : "AWAITING_DATA", + "requiredFields" : [ + "AccountHolderDetails.BankAccountDetails.bankAccount" + ] + } + ] + } + } + } + }, + "post-createAccountHolder-individual-422" : { + "summary" : "Response code 422. Unprocessable Entity.", + "value" : { + "invalidFields" : [ + { + "errorCode" : 21, + "errorDescription" : "Account description ' SpecialCharactersIncluded' is not valid", + "fieldType" : { + "field" : "description", + "fieldName" : "description" + } + } + ], + "pspReference" : "8816080421120908" + } + }, + "post-deleteBankAccounts-basic" : { + "summary" : "Delete bank accounts", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUIDs" : [ + "eeb6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deleteShareholders-basic" : { + "summary" : "Delete shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "shareholderCodes" : [ + "9188218c-576e-4cbe-8e86-72722f453920" + ] + } + }, + "post-getAccountHolder-accountCode" : { + "summary" : "Get an account holder", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-getAccountHolder-accountHolderCode" : { + "summary" : "Get an account holder for the account", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-getUploadedDocuments-basic" : { + "summary" : "Get uploaded documents", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUID" : "EXAMPLE_UUID" + } + }, + "post-suspendAccountHolder-basic" : { + "summary" : "Suspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-unSuspendAccountHolder-basic" : { + "summary" : "Unsuspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-updateAccount-basic" : { + "summary" : "Set a payout schedule", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT", + "payoutSchedule" : { + "schedule" : "WEEKLY", + "action" : "CLOSE" + } + } + }, + "post-updateAccountHolder-addShareholders" : { + "summary" : "Add shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "bankAccountDetails" : [ + ], + "businessDetails" : { + "legalBusinessName" : "legalBusinessName", + "shareholders" : [ + { + "ShareholderContact" : { + "email" : "testEmail@gmail.com", + "personalData" : { + "idNumber" : "12345" + } + } + } + ], + "taxId" : "taxid" + } + } + } + }, + "post-updateAccountHolder-bankAccountDetails" : { + "summary" : "Update bank account details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "bankAccountDetails" : [ + { + "BankAccountDetail" : { + "accountNumber" : "1678116852", + "branchCode" : "053101273", + "countryCode" : "US", + "currencyCode" : "USD", + "ownerName" : "Tim Green", + "ownerHouseNumberOrName" : "100", + "ownerStreet" : "Main Street", + "ownerPostalCode" : "02894", + "ownerCity" : "Springfield", + "ownerState" : "AZ", + "ownerCountryCode" : "US" + } + } + ] + }, + "createDefaultAccount" : "true", + "legalEntity" : "Individual" + } + }, + "post-updateAccountHolder-businessDetails" : { + "summary" : "Update business details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "bankAccountDetails" : [ + ], + "businessDetails" : { + "doingBusinessAs" : "Test company B.V.", + "legalBusinessName" : "Test company", + "shareholders" : [ + { + "ShareholderContact" : { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "houseNumberOrName" : "1", + "postalCode" : "1111AA", + "stateOrProvince" : "NH", + "street" : "Teststreet" + }, + "email" : "testShareholder@adyen.com", + "name" : { + "firstName" : "TestFirstName", + "gender" : "MALE", + "lastName" : "TestLastName" + } + } + } + ], + "taxId" : "BV123456789" + }, + "email" : "test@adyen.com", + "phoneNumber" : { + "phoneCountryCode" : "NL", + "phoneNumber" : "0612345678", + "phoneType" : "Mobile" + }, + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-general" : { + "summary" : "Update account holder details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "postalCode" : "12345", + "stateOrProvince" : "NH", + "street" : "Teststreet 1" + }, + "bankAccountDetails" : [ + ], + "email" : "test@adyen.com", + "individualDetails" : { + "name" : { + "firstName" : "First name", + "gender" : "MALE", + "lastName" : "Last Name" + }, + "personalData" : { + "dateOfBirth" : "1970-01-01", + "idNumber" : "1234567890", + "nationality" : "NL" + } + }, + "merchantCategoryCode" : "7999", + "phoneNumber" : { + "phoneCountryCode" : "NL", + "phoneNumber" : "0612345678", + "phoneType" : "Mobile" + }, + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolderState-basic" : { + "summary" : "Update account holder state", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "disable" : true, + "reason" : "test reason payout", + "stateType" : "Payout" + } + }, + "post-uploadDocument-basic" : { + "summary" : "Upload a document", + "value" : { + "documentContent" : "dGVzdCBkb2N1bWVudCBjb250ZW50", + "documentDetail" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "documentType" : "PASSPORT", + "filename" : "passport.png", + "description" : "test passport description" + } + } + } } } } \ No newline at end of file diff --git a/json/AccountService-v4.json b/json/AccountService-v4.json index c5f1964..1dc8b85 100644 --- a/json/AccountService-v4.json +++ b/json/AccountService-v4.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "4", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Account API", - "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v4/createAccountHolder\n```", + "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v4/createAccountHolder\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -32,6 +33,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "closeAccount" : { + "$ref" : "#/components/examples/post-closeAccount-closeAccount" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountRequest" } @@ -50,19 +56,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -77,6 +128,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-closeAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountHolderRequest" } @@ -95,19 +151,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,6 +223,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-createAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountRequest" } @@ -140,19 +246,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +318,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "business" : { + "$ref" : "#/components/examples/post-createAccountHolder-business" + }, + "individual" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountHolderRequest" } @@ -185,19 +344,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -212,6 +416,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteBankAccounts-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteBankAccountRequest" } @@ -230,19 +439,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -257,6 +511,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteShareholders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteShareholderRequest" } @@ -275,19 +534,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -302,6 +606,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "accountCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountCode" + }, + "accountHolderCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountHolderCode" + } + }, "schema" : { "$ref" : "#/components/schemas/GetAccountHolderRequest" } @@ -320,19 +632,154 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getTaxForm" : { + "post" : { + "summary" : "Request a tax form for an account holder.", + "description" : "This endpoint allows to generate a tax form for an account holder.", + "operationId" : "post-getTaxForm", + "x-groupName" : "Account holders", + "x-sortIndex" : 8, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -340,13 +787,18 @@ "/getUploadedDocuments" : { "post" : { "summary" : "Retrieve the uploaded documents of an existing account holder.", - "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-getUploadedDocuments", "x-groupName" : "Verification", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-getUploadedDocuments-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/GetUploadedDocumentsRequest" } @@ -365,19 +817,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -392,6 +889,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-suspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/SuspendAccountHolderRequest" } @@ -410,19 +912,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -430,13 +977,18 @@ "/unSuspendAccountHolder" : { "post" : { "summary" : "Reinstate a disabled account holder.", - "description" : "This endpoint is used to reinstate an existing account holder, which has been suspended through the `/suspendAccountHolder` endpoint. An account holder which has been suspended due to KYC verification issues cannot be reinstated through this endpoint.", + "description" : "This endpoint is used to reinstate an existing account holder that has been suspended either through the `/suspendAccountHolder` endpoint or because a KYC deadline expired.\n\nHowever, an account holder that has been suspended by Adyen because of KYC verification issues (indicated by a **FAILED** verification [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status)) cannot be reinstated through this endpoint.", "operationId" : "post-unSuspendAccountHolder", "x-groupName" : "Account holders", "x-sortIndex" : 6, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-unSuspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UnSuspendAccountHolderRequest" } @@ -455,19 +1007,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -482,6 +1079,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountRequest" } @@ -500,19 +1102,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -527,6 +1174,20 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "general" : { + "$ref" : "#/components/examples/post-updateAccountHolder-general" + }, + "bankAccountDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-bankAccountDetails" + }, + "addShareholders" : { + "$ref" : "#/components/examples/post-updateAccountHolder-addShareholders" + }, + "businessDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-businessDetails" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderRequest" } @@ -545,19 +1206,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -565,13 +1271,18 @@ "/updateAccountHolderState" : { "post" : { "summary" : "Update the state of an existing account holder.", - "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder. It cannot be used to enable an account holder whose processing or payout state has not been disabled through this endpoint.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", + "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", "operationId" : "post-updateAccountHolderState", "x-groupName" : "Account holders", "x-sortIndex" : 4, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccountHolderState-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderStateRequest" } @@ -590,19 +1301,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -610,13 +1366,18 @@ "/uploadDocument" : { "post" : { "summary" : "Upload a document for an existing account holder.", - "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-uploadDocument", "x-groupName" : "Verification", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-uploadDocument-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UploadDocumentRequest" } @@ -635,19 +1396,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -670,6 +1476,7 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "A description of the account.", "type" : "string" }, @@ -678,6 +1485,7 @@ "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "status" : { + "x-addedInVersion" : 4, "description" : "The status of the account. Possible values: `Active`, `Inactive`, `Suspended`, `Closed`.", "type" : "string" } @@ -686,7 +1494,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -716,14 +1524,14 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -735,7 +1543,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -815,6 +1623,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -840,6 +1649,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -855,7 +1665,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -980,6 +1790,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1052,6 +1863,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1073,7 +1885,7 @@ "CreateAccountHolderRequest" : { "properties" : { "accountHolderCode" : { - "description" : "The desired code of the prospective account holder.\n> Must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are permitted.", + "description" : "Your unique identifier for the prospective account holder.\nThe length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed.", "type" : "string" }, "accountHolderDetails" : { @@ -1081,15 +1893,16 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "createDefaultAccount" : { - "description" : "If set to true, an account with the default options is created for this account holder.\n**Default Value:** true", + "description" : "If set to **true**, an account with the default options is automatically created for the account holder.\nBy default, this field is set to **true**.", "type" : "boolean" }, "description" : { - "description" : "A description of the prospective account holder.", + "x-addedInVersion" : 4, + "description" : "A description of the prospective account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -1100,11 +1913,13 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, "processingTier" : { - "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks#tiers) for the prospective account holder.", + "x-addedInVersion" : 3, + "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.", "format" : "int32", "type" : "integer" } @@ -1130,14 +1945,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1145,6 +1963,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1168,8 +1987,9 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1187,7 +2007,8 @@ "type" : "string" }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "payoutSchedule" : { @@ -1230,6 +2051,7 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, @@ -1246,6 +2068,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1307,11 +2130,13 @@ "DocumentDetail" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 2, "description" : "The code of account holder, to which the document applies.", "type" : "string" }, "bankAccountUUID" : { - "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the documentType is `BANK_STATEMENT` (i.e., a document is being submitted in order to verify a bank account).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", + "x-addedInVersion" : 2, + "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account.\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", "type" : "string" }, "description" : { @@ -1319,11 +2144,12 @@ "type" : "string" }, "documentType" : { - "description" : "The type of a document. Permitted values:\n* `BANK_STATEMENT` denotes an image containing a bank statement or other document proving ownership of a specific bank account.\n* `PASSPORT` denotes an image containing the identity page(s) of a passport.\n* `ID_CARD_FRONT` denotes an image containing only the front of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `ID_CARD_BACK` denotes an image containing only the back of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `DRIVING_LICENCE_FRONT` denotes an image containing only the front of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_BACK` must be submitted.\n* `DRIVING_LICENCE_BACK` denotes an image containing only the back of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_FRONT` must be submitted.\n\n>Please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks) for details on when each document type should be submitted.", + "description" : "The type of the document. Refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks) for details on when each document type should be submitted and for the accepted file formats.\n\nPermitted values:\n* **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account.\n* **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document.\n* **PASSPORT**: A file containing the identity page(s) of a passport.\n* **ID_CARD_FRONT**: A file containing only the front of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **ID_CARD_BACK**: A file containing only the back of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **DRIVING_LICENCE_FRONT**: A file containing only the front of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_BACK** must be submitted.\n* **DRIVING_LICENCE_BACK**: A file containing only the back of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_FRONT** must be submitted.\n", "enum" : [ "BANK_STATEMENT", "BSN", "COMPANY_REGISTRATION_SCREENING", + "CONSTITUTIONAL_DOCUMENT", "DRIVING_LICENCE", "DRIVING_LICENCE_BACK", "DRIVING_LICENCE_FRONT", @@ -1341,7 +2167,8 @@ "type" : "string" }, "shareholderCode" : { - "description" : "The code of the shareholder, to which the document applies.\n>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type `Business` and the `documentType` is either `PASSPORT`, `ID_CARD_FRONT`, `ID_CARD_BACK`, `DRIVING_LICENCE_FRONT`, `DRIVING_LICENCE_BACK` (i.e. a document is being submitted in order to verify a shareholder).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", + "x-addedInVersion" : 2, + "description" : "The code of the shareholder, to which the document applies. Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) for details on when a document should be submitted in order to verify a shareholder.>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. \n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", "type" : "string" } }, @@ -1400,6 +2227,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1420,6 +2248,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1431,7 +2260,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1463,8 +2304,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1483,7 +2329,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1520,6 +2367,7 @@ "type" : "string" }, "showDetails" : { + "x-addedInVersion" : 4, "description" : "True if the request should return the account holder details", "type" : "boolean" } @@ -1536,6 +2384,7 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1547,6 +2396,7 @@ "type" : "array" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, @@ -1562,6 +2412,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1578,8 +2429,9 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1597,6 +2449,7 @@ "type" : "string" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the Account Holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1618,6 +2471,53 @@ "accountHolderStatus" ] }, + "GetTaxFormRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "formType" : { + "description" : "Type of the requested tax form. For example, 1099-K.", + "type" : "string" + }, + "year" : { + "description" : "Applicable tax year in the YYYY format.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "accountHolderCode", + "formType", + "year" + ] + }, + "GetTaxFormResponse" : { + "properties" : { + "content" : { + "description" : "The content of the tax form in the Base64 binary format.", + "format" : "byte", + "type" : "string" + }, + "contentType" : { + "description" : "The content type of the tax form.", + "type" : "string" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + }, + "submittedAsync" : { + "description" : "Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:\n* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.\n* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.", + "type" : "boolean" + } + } + }, "GetUploadedDocumentsRequest" : { "properties" : { "accountHolderCode" : { @@ -1625,6 +2525,7 @@ "type" : "string" }, "bankAccountUUID" : { + "x-addedInVersion" : 2, "description" : "The code of the Bank Account for which to retrieve the documents.", "type" : "string" }, @@ -1687,7 +2588,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -1732,10 +2633,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1776,11 +2684,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -1867,6 +2775,26 @@ "type" ] }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShareholderContact" : { "properties" : { "address" : { @@ -1881,12 +2809,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -1894,7 +2826,15 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -1982,14 +2922,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "description" : { - "description" : "The description to which the Account Holder should be updated.", + "x-addedInVersion" : 4, + "description" : "A description of the account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The primary three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), to which the account holder should be updated.", "type" : "string" }, "processingTier" : { + "x-addedInVersion" : 3, "description" : "The processing tier to which the Account Holder should be updated.\n>The processing tier can not be lowered through this request.\n\n>Required if accountHolderDetails are not provided.", "format" : "int32", "type" : "integer" @@ -2010,14 +2953,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2025,6 +2971,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2055,8 +3002,9 @@ "type" : "array" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -2105,7 +3053,8 @@ "type" : "string" }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters.You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "payoutSchedule" : { @@ -2124,6 +3073,7 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, @@ -2201,7 +3151,7 @@ "type" : "string" }, "documentContent" : { - "description" : "The content of the document as represented by a Base64-encoded string.\n\nTo learn about requirements, see [Bank account check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/bank-account-check#requirements) and [Photo ID check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/photo-id-check#requirements).", + "description" : "The content of the document, in Base64-encoded string format.\n\nTo learn about document requirements, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "format" : "byte", "type" : "string" }, @@ -2216,7 +3166,6 @@ } }, "required" : [ - "accountHolderCode", "documentDetail", "documentContent" ] @@ -2266,7 +3215,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2280,8 +3228,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2291,6 +3238,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2347,6 +3295,309 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "generic-403" : { + "summary" : "Response code 401. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "10_003", + "message" : "Failed to authorize user", + "errorType" : "security" + } + }, + "post-closeAccount-closeAccount" : { + "summary" : "Close an account", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-closeAccountHolder-basic" : { + "summary" : "Close an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccount-basic" : { + "summary" : "Add an account to an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccountHolder-business" : { + "summary" : "Create a business account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "address" : { + "country" : "US" + }, + "businessDetails" : { + "doingBusinessAs" : "Real Good Restaurant", + "legalBusinessName" : "Real Good Restaurant Inc.", + "shareholders" : [ + { + "ShareholderContact" : { + "name" : { + "firstName" : "John", + "gender" : "MALE", + "lastName" : "Carpenter" + }, + "email" : "testshareholder@adyen.com" + } + } + ] + }, + "email" : "test@adyen.com" + }, + "legalEntity" : "Business" + } + }, + "post-createAccountHolder-individual" : { + "summary" : "Create an individual account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "address" : { + "country" : "US" + } + }, + "legalEntity" : "Individual" + } + }, + "post-deleteBankAccounts-basic" : { + "summary" : "Delete bank accounts", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUIDs" : [ + "eeb6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deleteShareholders-basic" : { + "summary" : "Delete shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "shareholderCodes" : [ + "9188218c-576e-4cbe-8e86-72722f453920" + ] + } + }, + "post-getAccountHolder-accountCode" : { + "summary" : "Get an account holder", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-getAccountHolder-accountHolderCode" : { + "summary" : "Get an account holder for the account", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-getUploadedDocuments-basic" : { + "summary" : "Get uploaded documents", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUID" : "EXAMPLE_UUID" + } + }, + "post-suspendAccountHolder-basic" : { + "summary" : "Suspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-unSuspendAccountHolder-basic" : { + "summary" : "Unsuspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-updateAccount-basic" : { + "summary" : "Set a payout schedule", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT", + "payoutSchedule" : { + "schedule" : "WEEKLY", + "action" : "CLOSE" + } + } + }, + "post-updateAccountHolder-addShareholders" : { + "summary" : "Add shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "bankAccountDetails" : [ + ], + "businessDetails" : { + "legalBusinessName" : "legalBusinessName", + "shareholders" : [ + { + "ShareholderContact" : { + "email" : "testEmail@gmail.com", + "personalData" : { + "idNumber" : "12345" + } + } + } + ], + "taxId" : "taxid" + } + } + } + }, + "post-updateAccountHolder-bankAccountDetails" : { + "summary" : "Update bank account details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "bankAccountDetails" : [ + { + "BankAccountDetail" : { + "accountNumber" : "1678116852", + "branchCode" : "053101273", + "countryCode" : "US", + "currencyCode" : "USD", + "ownerName" : "Tim Green", + "ownerHouseNumberOrName" : "100", + "ownerStreet" : "Main Street", + "ownerPostalCode" : "02894", + "ownerCity" : "Springfield", + "ownerState" : "AZ", + "ownerCountryCode" : "US" + } + } + ] + } + } + }, + "post-updateAccountHolder-businessDetails" : { + "summary" : "Update business details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "bankAccountDetails" : [ + ], + "businessDetails" : { + "doingBusinessAs" : "Test company B.V.", + "legalBusinessName" : "Test company", + "shareholders" : [ + { + "ShareholderContact" : { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "houseNumberOrName" : "1", + "postalCode" : "1111AA", + "stateOrProvince" : "NH", + "street" : "Teststreet" + }, + "email" : "testShareholder@adyen.com", + "name" : { + "firstName" : "TestFirstName", + "gender" : "MALE", + "lastName" : "TestLastName" + } + } + } + ], + "taxId" : "BV123456789" + }, + "email" : "test@adyen.com", + "phoneNumber" : { + "phoneCountryCode" : "NL", + "phoneNumber" : "0612345678", + "phoneType" : "Mobile" + }, + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-general" : { + "summary" : "Update account holder details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "postalCode" : "12345", + "stateOrProvince" : "NH", + "street" : "Teststreet 1" + }, + "bankAccountDetails" : [ + ], + "email" : "test@adyen.com", + "individualDetails" : { + "name" : { + "firstName" : "First name", + "gender" : "MALE", + "lastName" : "Last Name" + }, + "personalData" : { + "dateOfBirth" : "1970-01-01", + "idNumber" : "1234567890", + "nationality" : "NL" + } + }, + "merchantCategoryCode" : "7999", + "phoneNumber" : { + "phoneCountryCode" : "NL", + "phoneNumber" : "0612345678", + "phoneType" : "Mobile" + }, + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolderState-basic" : { + "summary" : "Update account holder state", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "disable" : true, + "reason" : "test reason payout", + "stateType" : "Payout" + } + }, + "post-uploadDocument-basic" : { + "summary" : "Upload a document", + "value" : { + "documentContent" : "dGVzdCBkb2N1bWVudCBjb250ZW50", + "documentDetail" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "documentType" : "PASSPORT", + "filename" : "passport.png", + "description" : "test passport description" + } + } + } } } } \ No newline at end of file diff --git a/json/AccountService-v5.json b/json/AccountService-v5.json index 9be7bd6..b2465b1 100644 --- a/json/AccountService-v5.json +++ b/json/AccountService-v5.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "5", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Account API", - "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v5/createAccountHolder\n```", + "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v5/createAccountHolder\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Request to perform verification for an account holder.", "description" : "This endpoint allows to trigger the verification of the account holder earlier than it's required by the currently processed volume.", + "x-addedInVersion" : 5, "operationId" : "post-checkAccountHolder", "x-groupName" : "Verification", "x-sortIndex" : 5, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-checkAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PerformVerificationRequest" } @@ -50,19 +57,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -77,6 +129,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "closeAccount" : { + "$ref" : "#/components/examples/post-closeAccount-closeAccount" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountRequest" } @@ -95,19 +152,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,6 +224,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-closeAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountHolderRequest" } @@ -140,19 +247,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +319,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-createAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountRequest" } @@ -185,19 +342,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -212,6 +414,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "business" : { + "$ref" : "#/components/examples/post-createAccountHolder-business" + }, + "individual" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountHolderRequest" } @@ -230,19 +440,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -257,6 +512,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteBankAccounts-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteBankAccountRequest" } @@ -275,19 +535,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -296,12 +601,18 @@ "post" : { "summary" : "Delete payout methods of an existing account holder.", "description" : "This endpoint is used to delete existing payout method from an account holder. For this, pass the `accountHolderCode` you got on the account holder creation, and one or more `payoutMethodCodes` specifying payout methods to delete.", + "x-addedInVersion" : 5, "operationId" : "post-deletePayoutMethods", "x-groupName" : "Verification", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deletePayoutMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeletePayoutMethodRequest" } @@ -320,19 +631,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -347,6 +703,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteShareholders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteShareholderRequest" } @@ -365,19 +726,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -392,6 +798,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "accountCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountCode" + }, + "accountHolderCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountHolderCode" + } + }, "schema" : { "$ref" : "#/components/schemas/GetAccountHolderRequest" } @@ -410,19 +824,154 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getTaxForm" : { + "post" : { + "summary" : "Request a tax form for an account holder.", + "description" : "This endpoint allows to generate a tax form for an account holder.", + "operationId" : "post-getTaxForm", + "x-groupName" : "Account holders", + "x-sortIndex" : 8, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -430,13 +979,18 @@ "/getUploadedDocuments" : { "post" : { "summary" : "Retrieve the uploaded documents of an existing account holder.", - "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-getUploadedDocuments", "x-groupName" : "Verification", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-getUploadedDocuments-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/GetUploadedDocumentsRequest" } @@ -455,19 +1009,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -482,6 +1081,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-suspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/SuspendAccountHolderRequest" } @@ -500,19 +1104,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -520,13 +1169,18 @@ "/unSuspendAccountHolder" : { "post" : { "summary" : "Reinstate a disabled account holder.", - "description" : "This endpoint is used to reinstate an existing account holder, which has been suspended through the `/suspendAccountHolder` endpoint. An account holder which has been suspended due to KYC verification issues cannot be reinstated through this endpoint.", + "description" : "This endpoint is used to reinstate an existing account holder that has been suspended either through the `/suspendAccountHolder` endpoint or because a KYC deadline expired.\n\nHowever, an account holder that has been suspended by Adyen because of KYC verification issues (indicated by a **FAILED** verification [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status)) cannot be reinstated through this endpoint.", "operationId" : "post-unSuspendAccountHolder", "x-groupName" : "Account holders", "x-sortIndex" : 6, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-unSuspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UnSuspendAccountHolderRequest" } @@ -545,19 +1199,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -572,6 +1271,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountRequest" } @@ -590,19 +1294,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -617,6 +1366,20 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "general" : { + "$ref" : "#/components/examples/post-updateAccountHolder-general" + }, + "bankAccountDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-bankAccountDetails" + }, + "addShareholders" : { + "$ref" : "#/components/examples/post-updateAccountHolder-addShareholders" + }, + "businessDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-businessDetails" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderRequest" } @@ -635,19 +1398,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -655,13 +1463,18 @@ "/updateAccountHolderState" : { "post" : { "summary" : "Update the state of an existing account holder.", - "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder. It cannot be used to enable an account holder whose processing or payout state has not been disabled through this endpoint.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", + "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", "operationId" : "post-updateAccountHolderState", "x-groupName" : "Account holders", "x-sortIndex" : 4, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccountHolderState-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderStateRequest" } @@ -680,19 +1493,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -700,13 +1558,18 @@ "/uploadDocument" : { "post" : { "summary" : "Upload a document for an existing account holder.", - "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-uploadDocument", "x-groupName" : "Verification", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-uploadDocument-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UploadDocumentRequest" } @@ -725,19 +1588,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -751,6 +1659,11 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "beneficiaryAccount" : { "description" : "The beneficiary of the account.", "type" : "string" @@ -760,29 +1673,39 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "A description of the account.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The account's payout schedule.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], "type" : "string" }, "status" : { + "x-addedInVersion" : 4, "description" : "The status of the account. Possible values: `Active`, `Inactive`, `Suspended`, `Closed`.", "type" : "string" } @@ -791,7 +1714,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -821,18 +1744,19 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "bankAggregatorDataReference" : { + "x-addedInVersion" : 5, "description" : "The opaque reference value returned by the Adyen API during bank account login.", "type" : "string" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -844,7 +1768,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -859,7 +1783,8 @@ "type" : "object" }, "payoutMethods" : { - "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "x-addedInVersion" : 5, + "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/PayoutMethod" }, @@ -927,6 +1852,7 @@ "type" : "boolean" }, "notAllowedReason" : { + "x-addedInVersion" : 5, "description" : "The reason why payouts (to all of the account holder's accounts) have been disabled (by Adyen). If payouts have been disabled by Adyen, this field will explain why. If this field is blank, payouts have not been disabled by Adyen.", "type" : "string" }, @@ -935,6 +1861,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -960,6 +1887,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -975,7 +1903,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1000,6 +1928,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -1104,6 +2033,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1138,6 +2068,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1171,10 +2102,12 @@ "CloseAccountResponse" : { "properties" : { "accountCode" : { + "x-addedInVersion" : 5, "description" : "The account code of the account that is closed.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1190,6 +2123,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1207,7 +2141,7 @@ "CreateAccountHolderRequest" : { "properties" : { "accountHolderCode" : { - "description" : "The desired code of the prospective account holder.\n> Must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are permitted.", + "description" : "Your unique identifier for the prospective account holder.\nThe length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed.", "type" : "string" }, "accountHolderDetails" : { @@ -1215,15 +2149,16 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "createDefaultAccount" : { - "description" : "If set to true, an account with the default options is created for this account holder.\n**Default Value:** true", + "description" : "If set to **true**, an account with the default options is automatically created for the account holder.\nBy default, this field is set to **true**.", "type" : "boolean" }, "description" : { - "description" : "A description of the prospective account holder.", + "x-addedInVersion" : 4, + "description" : "A description of the prospective account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -1234,11 +2169,13 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, "processingTier" : { - "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks#tiers) for the prospective account holder.", + "x-addedInVersion" : 3, + "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.", "format" : "int32", "type" : "integer" } @@ -1264,14 +2201,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1279,6 +2219,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1290,6 +2231,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1302,8 +2244,9 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1320,17 +2263,29 @@ "description" : "The code of Account Holder under which to create the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the prospective account.\n>Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.", "enum" : [ @@ -1356,9 +2311,11 @@ "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1379,11 +2336,18 @@ "description" : "The code of the account holder.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1391,18 +2355,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1417,6 +2390,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1493,11 +2467,13 @@ "DocumentDetail" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 2, "description" : "The code of account holder, to which the document applies.", "type" : "string" }, "bankAccountUUID" : { - "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the documentType is `BANK_STATEMENT` (i.e., a document is being submitted in order to verify a bank account).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", + "x-addedInVersion" : 2, + "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account.\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", "type" : "string" }, "description" : { @@ -1505,11 +2481,12 @@ "type" : "string" }, "documentType" : { - "description" : "The type of a document. Permitted values:\n* `BANK_STATEMENT` denotes an image containing a bank statement or other document proving ownership of a specific bank account.\n* `PASSPORT` denotes an image containing the identity page(s) of a passport.\n* `ID_CARD_FRONT` denotes an image containing only the front of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `ID_CARD_BACK` denotes an image containing only the back of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `DRIVING_LICENCE_FRONT` denotes an image containing only the front of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_BACK` must be submitted.\n* `DRIVING_LICENCE_BACK` denotes an image containing only the back of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_FRONT` must be submitted.\n\n>Please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks) for details on when each document type should be submitted.", + "description" : "The type of the document. Refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks) for details on when each document type should be submitted and for the accepted file formats.\n\nPermitted values:\n* **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account.\n* **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document.\n* **PASSPORT**: A file containing the identity page(s) of a passport.\n* **ID_CARD_FRONT**: A file containing only the front of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **ID_CARD_BACK**: A file containing only the back of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **DRIVING_LICENCE_FRONT**: A file containing only the front of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_BACK** must be submitted.\n* **DRIVING_LICENCE_BACK**: A file containing only the back of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_FRONT** must be submitted.\n", "enum" : [ "BANK_STATEMENT", "BSN", "COMPANY_REGISTRATION_SCREENING", + "CONSTITUTIONAL_DOCUMENT", "DRIVING_LICENCE", "DRIVING_LICENCE_BACK", "DRIVING_LICENCE_FRONT", @@ -1527,7 +2504,8 @@ "type" : "string" }, "shareholderCode" : { - "description" : "The code of the shareholder, to which the document applies.\n>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type `Business` and the `documentType` is either `PASSPORT`, `ID_CARD_FRONT`, `ID_CARD_BACK`, `DRIVING_LICENCE_FRONT`, `DRIVING_LICENCE_BACK` (i.e. a document is being submitted in order to verify a shareholder).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", + "x-addedInVersion" : 2, + "description" : "The code of the shareholder, to which the document applies. Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) for details on when a document should be submitted in order to verify a shareholder.>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. \n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", "type" : "string" } }, @@ -1586,6 +2564,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1606,6 +2585,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1617,7 +2597,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1649,8 +2641,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1669,7 +2666,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1682,6 +2680,7 @@ "GenericResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1709,6 +2708,7 @@ "type" : "string" }, "showDetails" : { + "x-addedInVersion" : 4, "description" : "True if the request should return the account holder details", "type" : "boolean" } @@ -1725,6 +2725,7 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1736,10 +2737,12 @@ "type" : "array" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1758,6 +2761,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1770,13 +2774,15 @@ "type" : "string" }, "systemUpToDateTime" : { + "x-addedInVersion" : 5, "description" : "The time that shows how up to date is the information in the response.", "format" : "date-time", "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -1794,10 +2800,12 @@ "type" : "string" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the Account Holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1818,6 +2826,57 @@ "accountHolderStatus" ] }, + "GetTaxFormRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "formType" : { + "description" : "Type of the requested tax form. For example, 1099-K.", + "type" : "string" + }, + "year" : { + "description" : "Applicable tax year in the YYYY format.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "accountHolderCode", + "formType", + "year" + ] + }, + "GetTaxFormResponse" : { + "properties" : { + "content" : { + "description" : "The content of the tax form in the Base64 binary format.", + "format" : "byte", + "type" : "string" + }, + "contentType" : { + "description" : "The content type of the tax form.", + "type" : "string" + }, + "invalidFields" : { + "x-addedInVersion" : 5, + "description" : "Contains field validation errors that would prevent requests from being processed.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + } + } + }, "GetUploadedDocumentsRequest" : { "properties" : { "accountHolderCode" : { @@ -1825,6 +2884,7 @@ "type" : "string" }, "bankAccountUUID" : { + "x-addedInVersion" : 2, "description" : "The code of the Bank Account for which to retrieve the documents.", "type" : "string" }, @@ -1847,6 +2907,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1905,7 +2966,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -1950,10 +3011,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1966,11 +3034,13 @@ "KYCCheckSummary" : { "properties" : { "kycCheckCode" : { + "x-addedInVersion" : 5, "description" : "The code of the check.", "format" : "int32", "type" : "integer" }, "kycCheckDescription" : { + "x-addedInVersion" : 5, "description" : "A description of the check.", "type" : "string" } @@ -1991,11 +3061,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -2005,6 +3075,7 @@ "type" : "array" }, "cards" : { + "x-addedInVersion" : 5, "description" : "The result(s) of the checks on the card(s).", "items" : { "$ref" : "#/components/schemas/KYCCardCheckResult" @@ -2146,6 +3217,26 @@ "type" ] }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShareholderContact" : { "properties" : { "address" : { @@ -2160,12 +3251,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2173,11 +3268,20 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", "type" : "string" }, "shareholderReference" : { - "description" : "Merchant reference to the Shareholder.", + "x-addedInVersion" : 5, + "description" : "Your reference for the shareholder.", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2204,6 +3308,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2241,6 +3346,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2271,11 +3377,13 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "description" : { - "description" : "The description to which the Account Holder should be updated.", + "x-addedInVersion" : 4, + "description" : "A description of the account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "x-addedInVersion" : 5, + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -2286,10 +3394,12 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The primary three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), to which the account holder should be updated.", "type" : "string" }, "processingTier" : { + "x-addedInVersion" : 3, "description" : "The processing tier to which the Account Holder should be updated.\n>The processing tier can not be lowered through this request.\n\n>Required if accountHolderDetails are not provided.", "format" : "int32", "type" : "integer" @@ -2310,14 +3420,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2325,6 +3438,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2336,6 +3450,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -2348,8 +3463,9 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ @@ -2397,24 +3513,38 @@ "description" : "The code of the account to update.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters.You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The details of the payout schedule, to which the account should be updated.", "$ref" : "#/components/schemas/UpdatePayoutScheduleRequest" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -2431,11 +3561,18 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/updateAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2443,18 +3580,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -2516,7 +3662,7 @@ "UploadDocumentRequest" : { "properties" : { "documentContent" : { - "description" : "The content of the document as represented by a Base64-encoded string.\n\nTo learn about requirements, see [Bank account check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/bank-account-check#requirements) and [Photo ID check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/photo-id-check#requirements).", + "description" : "The content of the document, in Base64-encoded string format.\n\nTo learn about document requirements, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "format" : "byte", "type" : "string" }, @@ -2575,7 +3721,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2589,8 +3734,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2600,6 +3744,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2651,6 +3796,332 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "generic-403" : { + "summary" : "Response code 401. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "10_003", + "message" : "Failed to authorize user", + "errorType" : "security" + } + }, + "post-checkAccountHolder-basic" : { + "summary" : "Check the account holder.", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountStateType" : "Processing", + "tier" : "2" + } + }, + "post-closeAccount-closeAccount" : { + "summary" : "Close an account", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-closeAccountHolder-basic" : { + "summary" : "Close an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccount-basic" : { + "summary" : "Add an account to an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccountHolder-business" : { + "summary" : "Create a business account holder", + "value" : { + "accountHolderCode" : "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE", + "accountHolderDetails" : { + "address" : { + "country" : "US" + }, + "businessDetails" : { + "doingBusinessAs" : "Real Good Restaurant", + "legalBusinessName" : "Real Good Restaurant Inc.", + "shareholders" : [ + { + "name" : { + "firstName" : "John", + "gender" : "MALE", + "lastName" : "Carpenter" + }, + "address" : { + "country" : "NL" + }, + "email" : "testshareholder@email.com" + } + ] + }, + "email" : "test@email.com" + }, + "legalEntity" : "Business" + } + }, + "post-createAccountHolder-individual" : { + "summary" : "Create an individual account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "address" : { + "country" : "US" + } + }, + "legalEntity" : "Individual" + } + }, + "post-deleteBankAccounts-basic" : { + "summary" : "Delete bank accounts", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUIDs" : [ + "eeb6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deletePayoutMethods-basic" : { + "summary" : "Delete a payout method", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "payoutMethodCodes" : [ + "34b6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deleteShareholders-basic" : { + "summary" : "Delete shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "shareholderCodes" : [ + "9188218c-576e-4cbe-8e86-72722f453920" + ] + } + }, + "post-getAccountHolder-accountCode" : { + "summary" : "Get an account holder", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-getAccountHolder-accountHolderCode" : { + "summary" : "Get an account holder for the account", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-getUploadedDocuments-basic" : { + "summary" : "Get uploaded documents", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUID" : "EXAMPLE_UUID" + } + }, + "post-suspendAccountHolder-basic" : { + "summary" : "Suspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-unSuspendAccountHolder-basic" : { + "summary" : "Unsuspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-updateAccount-basic" : { + "summary" : "Set a payout schedule", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT", + "payoutSchedule" : { + "schedule" : "WEEKLY", + "action" : "CLOSE" + } + } + }, + "post-updateAccountHolder-addShareholders" : { + "summary" : "Add shareholders", + "value" : { + "accountHolderCode" : "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE", + "accountHolderDetails" : { + "businessDetails" : { + "shareholders" : [ + { + "name" : { + "firstName" : "Alice", + "gender" : "FEMALE", + "lastName" : "Fields" + }, + "address" : { + "city" : "San Francisco", + "country" : "US", + "houseNumberOrName" : "274", + "postalCode" : "94107", + "stateOrProvince" : "CA", + "street" : "Brannan" + }, + "email" : "testshareholder2@email.com", + "personalData" : { + "dateOfBirth" : "1970-01-01", + "documentData" : [ + { + "number" : "1234567890", + "type" : "ID" + } + ] + } + } + ], + "taxId" : "123456789" + }, + "email" : "test@email.com", + "fullPhoneNumber" : "+14154890281", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-bankAccountDetails" : { + "summary" : "Update bank account details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "bankAccountDetails" : [ + { + "accountNumber" : "1678116852", + "branchCode" : "053101273", + "countryCode" : "US", + "currencyCode" : "USD", + "ownerName" : "Tim Green", + "ownerHouseNumberOrName" : "100", + "ownerStreet" : "Main Street", + "ownerPostalCode" : "02894", + "ownerCity" : "Springfield", + "ownerState" : "AZ", + "ownerCountryCode" : "US" + } + ] + } + } + }, + "post-updateAccountHolder-businessDetails" : { + "summary" : "Update business details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "businessDetails" : { + "shareholders" : [ + { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "houseNumberOrName" : "1", + "postalCode" : "1111AA", + "stateOrProvince" : "NH", + "street" : "Awesome St" + }, + "email" : "testshareholder2@email.com", + "name" : { + "firstName" : "Alice", + "gender" : "FEMALE", + "lastName" : "Fields" + } + } + ], + "taxId" : "BV123456789" + }, + "email" : "test@email.com", + "fullPhoneNumber" : "+31612345678", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-general" : { + "summary" : "Update account holder details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "address" : { + "city" : "NY", + "country" : "US", + "postalCode" : "12345", + "stateOrProvince" : "NH", + "street" : "Teststreet 1", + "houseNumberOrName" : "100" + }, + "email" : "test@adyen.com", + "individualDetails" : { + "name" : { + "firstName" : "Simon", + "gender" : "MALE", + "lastName" : "Hopper" + }, + "personalData" : { + "dateOfBirth" : "1970-01-01", + "documentData" : [ + { + "number" : "1234567890", + "type" : "ID" + } + ], + "nationality" : "NL" + } + }, + "merchantCategoryCode" : "7999", + "fullPhoneNumber" : "+31612345678", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolderState-basic" : { + "summary" : "Update account holder state", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "disable" : true, + "reason" : "test reason payout", + "stateType" : "Payout" + } + }, + "post-uploadDocument-basic" : { + "summary" : "Upload a document", + "value" : { + "documentContent" : "dGVzdCBkb2N1bWVudCBjb250ZW50", + "documentDetail" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "documentType" : "PASSPORT", + "filename" : "passport.png", + "description" : "test passport description" + } + } + } } } } \ No newline at end of file diff --git a/json/AccountService-v6.json b/json/AccountService-v6.json index 5ea0d28..0b4462b 100644 --- a/json/AccountService-v6.json +++ b/json/AccountService-v6.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "6", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Account API", - "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```", + "description" : "The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Account API, you must use basic authentication credentials of your web service user. If you don't have one, contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Request to perform verification for an account holder.", "description" : "This endpoint allows to trigger the verification of the account holder earlier than it's required by the currently processed volume.", + "x-addedInVersion" : 5, "operationId" : "post-checkAccountHolder", "x-groupName" : "Verification", "x-sortIndex" : 5, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-checkAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PerformVerificationRequest" } @@ -50,19 +57,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -77,6 +129,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "closeAccount" : { + "$ref" : "#/components/examples/post-closeAccount-closeAccount" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountRequest" } @@ -95,19 +152,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,6 +224,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-closeAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CloseAccountHolderRequest" } @@ -140,19 +247,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +319,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-createAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountRequest" } @@ -185,19 +342,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -212,6 +414,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "business" : { + "$ref" : "#/components/examples/post-createAccountHolder-business" + }, + "individual" : { + "$ref" : "#/components/examples/post-createAccountHolder-individual" + } + }, "schema" : { "$ref" : "#/components/schemas/CreateAccountHolderRequest" } @@ -230,19 +440,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -257,6 +512,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteBankAccounts-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteBankAccountRequest" } @@ -275,19 +535,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -296,12 +601,18 @@ "post" : { "summary" : "Delete payout methods of an existing account holder.", "description" : "This endpoint is used to delete existing payout method from an account holder. For this, pass the `accountHolderCode` you got on the account holder creation, and one or more `payoutMethodCodes` specifying payout methods to delete.", + "x-addedInVersion" : 5, "operationId" : "post-deletePayoutMethods", "x-groupName" : "Verification", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deletePayoutMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeletePayoutMethodRequest" } @@ -320,19 +631,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -347,6 +703,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-deleteShareholders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/DeleteShareholderRequest" } @@ -365,19 +726,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -392,6 +798,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "accountCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountCode" + }, + "accountHolderCode" : { + "$ref" : "#/components/examples/post-getAccountHolder-accountHolderCode" + } + }, "schema" : { "$ref" : "#/components/schemas/GetAccountHolderRequest" } @@ -410,19 +824,154 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getTaxForm" : { + "post" : { + "summary" : "Request a tax form for an account holder.", + "description" : "This endpoint allows to generate a tax form for an account holder.", + "operationId" : "post-getTaxForm", + "x-groupName" : "Account holders", + "x-sortIndex" : 8, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetTaxFormResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -430,13 +979,18 @@ "/getUploadedDocuments" : { "post" : { "summary" : "Retrieve the uploaded documents of an existing account holder.", - "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to retrieve documents previously uploaded for use in the KYC Verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-getUploadedDocuments", "x-groupName" : "Verification", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-getUploadedDocuments-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/GetUploadedDocumentsRequest" } @@ -455,19 +1009,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -482,6 +1081,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-suspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/SuspendAccountHolderRequest" } @@ -500,19 +1104,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -520,13 +1169,18 @@ "/unSuspendAccountHolder" : { "post" : { "summary" : "Reinstate a disabled account holder.", - "description" : "This endpoint is used to reinstate an existing account holder, which has been suspended through the `/suspendAccountHolder` endpoint. An account holder which has been suspended due to KYC verification issues cannot be reinstated through this endpoint.", + "description" : "This endpoint is used to reinstate an existing account holder that has been suspended either through the `/suspendAccountHolder` endpoint or because a KYC deadline expired.\n\nHowever, an account holder that has been suspended by Adyen because of KYC verification issues (indicated by a **FAILED** verification [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status)) cannot be reinstated through this endpoint.", "operationId" : "post-unSuspendAccountHolder", "x-groupName" : "Account holders", "x-sortIndex" : 6, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-unSuspendAccountHolder-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UnSuspendAccountHolderRequest" } @@ -545,19 +1199,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -572,6 +1271,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccount-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountRequest" } @@ -590,19 +1294,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -617,6 +1366,20 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "general" : { + "$ref" : "#/components/examples/post-updateAccountHolder-general" + }, + "bankAccountDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-bankAccountDetails" + }, + "addShareholders" : { + "$ref" : "#/components/examples/post-updateAccountHolder-addShareholders" + }, + "businessDetails" : { + "$ref" : "#/components/examples/post-updateAccountHolder-businessDetails" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderRequest" } @@ -635,19 +1398,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -655,13 +1463,18 @@ "/updateAccountHolderState" : { "post" : { "summary" : "Update the state of an existing account holder.", - "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder. It cannot be used to enable an account holder whose processing or payout state has not been disabled through this endpoint.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", + "description" : "This endpoint is used to disable or enable the processing or payout state of an account holder.\n\nFor more information about processing and payout states of an account holder, refer to [our documentation](https://docs.adyen.com/platforms).", "operationId" : "post-updateAccountHolderState", "x-groupName" : "Account holders", "x-sortIndex" : 4, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-updateAccountHolderState-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdateAccountHolderStateRequest" } @@ -680,19 +1493,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -700,13 +1558,18 @@ "/uploadDocument" : { "post" : { "summary" : "Upload a document for an existing account holder.", - "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "This endpoint is used to upload a document for use in the KYC verification of an account holder.\n\nFor further information regarding KYC Verification, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "operationId" : "post-uploadDocument", "x-groupName" : "Verification", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-uploadDocument-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UploadDocumentRequest" } @@ -725,19 +1588,64 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -751,6 +1659,11 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "beneficiaryAccount" : { "description" : "The beneficiary of the account.", "type" : "string" @@ -760,29 +1673,39 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "A description of the account.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The account's payout schedule.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], "type" : "string" }, "status" : { + "x-addedInVersion" : 4, "description" : "The status of the account. Possible values: `Active`, `Inactive`, `Suspended`, `Closed`.", "type" : "string" } @@ -791,7 +1714,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -821,18 +1744,19 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "bankAggregatorDataReference" : { + "x-addedInVersion" : 5, "description" : "The opaque reference value returned by the Adyen API during bank account login.", "type" : "string" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -844,7 +1768,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -859,12 +1783,18 @@ "type" : "object" }, "payoutMethods" : { - "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "x-addedInVersion" : 5, + "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/PayoutMethod" }, "type" : "array" }, + "principalBusinessAddress" : { + "x-addedInVersion" : 6, + "description" : "The prinicipal business address of the account holder.", + "$ref" : "#/components/schemas/ViasAddress" + }, "webAddress" : { "description" : "The URL of the website of the account holder.", "type" : "string" @@ -927,6 +1857,7 @@ "type" : "boolean" }, "notAllowedReason" : { + "x-addedInVersion" : 5, "description" : "The reason why payouts (to all of the account holder's accounts) have been disabled (by Adyen). If payouts have been disabled by Adyen, this field will explain why. If this field is blank, payouts have not been disabled by Adyen.", "type" : "string" }, @@ -935,6 +1866,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -960,6 +1892,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -975,7 +1908,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1000,6 +1933,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -1104,6 +2038,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1115,14 +2050,17 @@ "type" : "array" }, "stockExchange" : { + "x-addedInVersion" : 6, "description" : "Market Identifier Code (MIC).", "type" : "string" }, "stockNumber" : { + "x-addedInVersion" : 6, "description" : "International Securities Identification Number (ISIN).", "type" : "string" }, "stockTicker" : { + "x-addedInVersion" : 6, "description" : "Stock Ticker symbol.", "type" : "string" }, @@ -1150,6 +2088,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1183,10 +2122,12 @@ "CloseAccountResponse" : { "properties" : { "accountCode" : { + "x-addedInVersion" : 5, "description" : "The account code of the account that is closed.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1202,6 +2143,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1219,7 +2161,7 @@ "CreateAccountHolderRequest" : { "properties" : { "accountHolderCode" : { - "description" : "The desired code of the prospective account holder.\n> Must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are permitted.", + "description" : "Your unique identifier for the prospective account holder.\nThe length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed.", "type" : "string" }, "accountHolderDetails" : { @@ -1227,15 +2169,16 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "createDefaultAccount" : { - "description" : "If set to true, an account with the default options is created for this account holder.\n**Default Value:** true", + "description" : "If set to **true**, an account with the default options is automatically created for the account holder.\nBy default, this field is set to **true**.", "type" : "boolean" }, "description" : { - "description" : "A description of the prospective account holder.", + "x-addedInVersion" : 4, + "description" : "A description of the prospective account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -1246,15 +2189,18 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, "processingTier" : { - "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks#tiers) for the prospective account holder.", + "x-addedInVersion" : 3, + "description" : "The starting [processing tier](https://docs.adyen.com/platforms/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.", "format" : "int32", "type" : "integer" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } @@ -1280,14 +2226,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1295,6 +2244,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1306,6 +2256,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1318,10 +2269,12 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } @@ -1340,17 +2293,29 @@ "description" : "The code of Account Holder under which to create the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the prospective account.\n>Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.", "enum" : [ @@ -1376,9 +2341,11 @@ "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1399,11 +2366,18 @@ "description" : "The code of the account holder.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1411,18 +2385,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1437,6 +2420,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1513,11 +2497,13 @@ "DocumentDetail" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 2, "description" : "The code of account holder, to which the document applies.", "type" : "string" }, "bankAccountUUID" : { - "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the documentType is `BANK_STATEMENT` (i.e., a document is being submitted in order to verify a bank account).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", + "x-addedInVersion" : 2, + "description" : "The unique ID of the Bank Account to which the document applies.\n>Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account.\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a bank account.", "type" : "string" }, "description" : { @@ -1525,11 +2511,12 @@ "type" : "string" }, "documentType" : { - "description" : "The type of a document. Permitted values:\n* `BANK_STATEMENT` denotes an image containing a bank statement or other document proving ownership of a specific bank account.\n* `PASSPORT` denotes an image containing the identity page(s) of a passport.\n* `ID_CARD_FRONT` denotes an image containing only the front of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `ID_CARD_BACK` denotes an image containing only the back of the ID card. In order for a document to be usable, both the `ID_CARD_FRONT` and `ID_CARD_BACK` must be submitted.\n* `DRIVING_LICENCE_FRONT` denotes an image containing only the front of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_BACK` must be submitted.\n* `DRIVING_LICENCE_BACK` denotes an image containing only the back of the driving licence. In order for a document to be usable, both the `DRIVING_LICENCE_FRONT` and `DRIVING_LICENCE_FRONT` must be submitted.\n\n>Please refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks) for details on when each document type should be submitted.", + "description" : "The type of the document. Refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks) for details on when each document type should be submitted and for the accepted file formats.\n\nPermitted values:\n* **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account.\n* **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document.\n* **PASSPORT**: A file containing the identity page(s) of a passport.\n* **ID_CARD_FRONT**: A file containing only the front of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **ID_CARD_BACK**: A file containing only the back of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.\n* **DRIVING_LICENCE_FRONT**: A file containing only the front of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_BACK** must be submitted.\n* **DRIVING_LICENCE_BACK**: A file containing only the back of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_FRONT** must be submitted.\n", "enum" : [ "BANK_STATEMENT", "BSN", "COMPANY_REGISTRATION_SCREENING", + "CONSTITUTIONAL_DOCUMENT", "DRIVING_LICENCE", "DRIVING_LICENCE_BACK", "DRIVING_LICENCE_FRONT", @@ -1547,7 +2534,8 @@ "type" : "string" }, "shareholderCode" : { - "description" : "The code of the shareholder, to which the document applies.\n>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type `Business` and the `documentType` is either `PASSPORT`, `ID_CARD_FRONT`, `ID_CARD_BACK`, `DRIVING_LICENCE_FRONT`, `DRIVING_LICENCE_BACK` (i.e. a document is being submitted in order to verify a shareholder).\n\n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", + "x-addedInVersion" : 2, + "description" : "The code of the shareholder, to which the document applies. Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) for details on when a document should be submitted in order to verify a shareholder.>Required if the account holder referred to by the `accountHolderCode` has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. \n>Refer to the [Onboarding and verification](https://docs.adyen.com/platforms/onboarding-and-verification) section for details on when a document should be submitted in order to verify a shareholder.", "type" : "string" } }, @@ -1606,6 +2594,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1626,6 +2615,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1637,7 +2627,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1669,8 +2671,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1689,7 +2696,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1702,6 +2710,7 @@ "GenericResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1729,6 +2738,7 @@ "type" : "string" }, "showDetails" : { + "x-addedInVersion" : 4, "description" : "True if the request should return the account holder details", "type" : "boolean" } @@ -1745,6 +2755,7 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, @@ -1756,10 +2767,12 @@ "type" : "array" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1778,6 +2791,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1790,15 +2804,18 @@ "type" : "string" }, "systemUpToDateTime" : { + "x-addedInVersion" : 5, "description" : "The time that shows how up to date is the information in the response.", "format" : "date-time", "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } @@ -1818,10 +2835,12 @@ "type" : "string" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the Account Holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1842,6 +2861,57 @@ "accountHolderStatus" ] }, + "GetTaxFormRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "formType" : { + "description" : "Type of the requested tax form. For example, 1099-K.", + "type" : "string" + }, + "year" : { + "description" : "Applicable tax year in the YYYY format.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "accountHolderCode", + "formType", + "year" + ] + }, + "GetTaxFormResponse" : { + "properties" : { + "content" : { + "description" : "The content of the tax form in the Base64 binary format.", + "format" : "byte", + "type" : "string" + }, + "contentType" : { + "description" : "The content type of the tax form.", + "type" : "string" + }, + "invalidFields" : { + "x-addedInVersion" : 5, + "description" : "Contains field validation errors that would prevent requests from being processed.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + } + } + }, "GetUploadedDocumentsRequest" : { "properties" : { "accountHolderCode" : { @@ -1849,6 +2919,7 @@ "type" : "string" }, "bankAccountUUID" : { + "x-addedInVersion" : 2, "description" : "The code of the Bank Account for which to retrieve the documents.", "type" : "string" }, @@ -1871,6 +2942,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1899,7 +2971,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -1944,10 +3016,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1960,11 +3039,13 @@ "KYCCheckSummary" : { "properties" : { "kycCheckCode" : { + "x-addedInVersion" : 5, "description" : "The code of the check.", "format" : "int32", "type" : "integer" }, "kycCheckDescription" : { + "x-addedInVersion" : 5, "description" : "A description of the check.", "type" : "string" } @@ -2000,13 +3081,14 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "payoutMethods" : { + "x-addedInVersion" : 6, "description" : "The result(s) of the checks on the payout method(s).", "items" : { "$ref" : "#/components/schemas/KYCPayoutMethodCheckResult" @@ -2148,6 +3230,26 @@ "type" ] }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShareholderContact" : { "properties" : { "address" : { @@ -2162,12 +3264,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2175,11 +3281,20 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", "type" : "string" }, "shareholderReference" : { - "description" : "Merchant reference to the Shareholder.", + "x-addedInVersion" : 5, + "description" : "Your reference for the shareholder.", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2206,6 +3321,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2243,6 +3359,7 @@ "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2273,11 +3390,13 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "description" : { - "description" : "The description to which the Account Holder should be updated.", + "x-addedInVersion" : 4, + "description" : "A description of the account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "legalEntity" : { - "description" : "The entity type.\nPermitted values: `Business`, `Individual`\n\nIf an account holder is 'Business', then `accountHolderDetails.businessDetails` must be provided, as well as at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\nIf an account holder is 'Individual', then `accountHolderDetails.individualDetails` must be provided.", + "x-addedInVersion" : 5, + "description" : "The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.", "enum" : [ "Business", "Individual", @@ -2288,15 +3407,18 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 4, "description" : "The primary three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), to which the account holder should be updated.", "type" : "string" }, "processingTier" : { + "x-addedInVersion" : 3, "description" : "The processing tier to which the Account Holder should be updated.\n>The processing tier can not be lowered through this request.\n\n>Required if accountHolderDetails are not provided.", "format" : "int32", "type" : "integer" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } @@ -2316,14 +3438,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2331,6 +3456,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2342,6 +3468,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -2354,10 +3481,12 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } @@ -2407,24 +3536,38 @@ "description" : "The code of the account to update.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { - "description" : "A description of the account.", + "x-addedInVersion" : 4, + "description" : "A description of the account, maximum 256 characters.You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, "description" : "A set of key and value pairs for general use by the merchant.\nThe keys do not have specific names and may be used for storing miscellaneous data as desired.\n> Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The details of the payout schedule, to which the account should be updated.", "$ref" : "#/components/schemas/UpdatePayoutScheduleRequest" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -2441,11 +3584,18 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/updateAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2453,18 +3603,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -2526,7 +3685,7 @@ "UploadDocumentRequest" : { "properties" : { "documentContent" : { - "description" : "The content of the document as represented by a Base64-encoded string.\n\nTo learn about requirements, see [Bank account check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/bank-account-check#requirements) and [Photo ID check](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks/photo-id-check#requirements).", + "description" : "The content of the document, in Base64-encoded string format.\n\nTo learn about document requirements, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "format" : "byte", "type" : "string" }, @@ -2585,7 +3744,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2599,8 +3757,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2610,6 +3767,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2661,6 +3819,332 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "generic-403" : { + "summary" : "Response code 401. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "10_003", + "message" : "Failed to authorize user", + "errorType" : "security" + } + }, + "post-checkAccountHolder-basic" : { + "summary" : "Check the account holder.", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountStateType" : "Processing", + "tier" : "2" + } + }, + "post-closeAccount-closeAccount" : { + "summary" : "Close an account", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-closeAccountHolder-basic" : { + "summary" : "Close an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccount-basic" : { + "summary" : "Add an account to an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-createAccountHolder-business" : { + "summary" : "Create a business account holder", + "value" : { + "accountHolderCode" : "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE", + "accountHolderDetails" : { + "address" : { + "country" : "US" + }, + "businessDetails" : { + "doingBusinessAs" : "Real Good Restaurant", + "legalBusinessName" : "Real Good Restaurant Inc.", + "shareholders" : [ + { + "name" : { + "firstName" : "John", + "gender" : "MALE", + "lastName" : "Carpenter" + }, + "address" : { + "country" : "NL" + }, + "email" : "testshareholder@email.com" + } + ] + }, + "email" : "test@email.com" + }, + "legalEntity" : "Business" + } + }, + "post-createAccountHolder-individual" : { + "summary" : "Create an individual account holder", + "value" : { + "accountHolderCode" : "GENERATE_CODE", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "address" : { + "country" : "US" + } + }, + "legalEntity" : "Individual" + } + }, + "post-deleteBankAccounts-basic" : { + "summary" : "Delete bank accounts", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUIDs" : [ + "eeb6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deletePayoutMethods-basic" : { + "summary" : "Delete a payout method", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "payoutMethodCodes" : [ + "34b6ed22-3bae-483c-83b9-bc2097a75d40" + ] + } + }, + "post-deleteShareholders-basic" : { + "summary" : "Delete shareholders", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "shareholderCodes" : [ + "9188218c-576e-4cbe-8e86-72722f453920" + ] + } + }, + "post-getAccountHolder-accountCode" : { + "summary" : "Get an account holder", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT" + } + }, + "post-getAccountHolder-accountHolderCode" : { + "summary" : "Get an account holder for the account", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-getUploadedDocuments-basic" : { + "summary" : "Get uploaded documents", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "bankAccountUUID" : "EXAMPLE_UUID" + } + }, + "post-suspendAccountHolder-basic" : { + "summary" : "Suspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-unSuspendAccountHolder-basic" : { + "summary" : "Unsuspend an account holder", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER" + } + }, + "post-updateAccount-basic" : { + "summary" : "Set a payout schedule", + "value" : { + "accountCode" : "CODE_OF_ACCOUNT", + "payoutSchedule" : { + "schedule" : "WEEKLY", + "action" : "CLOSE" + } + } + }, + "post-updateAccountHolder-addShareholders" : { + "summary" : "Add shareholders", + "value" : { + "accountHolderCode" : "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE", + "accountHolderDetails" : { + "businessDetails" : { + "shareholders" : [ + { + "name" : { + "firstName" : "Alice", + "gender" : "FEMALE", + "lastName" : "Fields" + }, + "address" : { + "city" : "San Francisco", + "country" : "US", + "houseNumberOrName" : "274", + "postalCode" : "94107", + "stateOrProvince" : "CA", + "street" : "Brannan" + }, + "email" : "testshareholder2@email.com", + "personalData" : { + "dateOfBirth" : "1970-01-01", + "documentData" : [ + { + "number" : "1234567890", + "type" : "ID" + } + ] + } + } + ], + "taxId" : "123456789" + }, + "email" : "test@email.com", + "fullPhoneNumber" : "+14154890281", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-bankAccountDetails" : { + "summary" : "Update bank account details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "email" : "tim@green.com", + "individualDetails" : { + "name" : { + "firstName" : "Tim", + "gender" : "MALE", + "lastName" : "Green" + } + }, + "bankAccountDetails" : [ + { + "accountNumber" : "1678116852", + "branchCode" : "053101273", + "countryCode" : "US", + "currencyCode" : "USD", + "ownerName" : "Tim Green", + "ownerHouseNumberOrName" : "100", + "ownerStreet" : "Main Street", + "ownerPostalCode" : "02894", + "ownerCity" : "Springfield", + "ownerState" : "AZ", + "ownerCountryCode" : "US" + } + ] + } + } + }, + "post-updateAccountHolder-businessDetails" : { + "summary" : "Update business details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "businessDetails" : { + "shareholders" : [ + { + "address" : { + "city" : "Amsterdam", + "country" : "NL", + "houseNumberOrName" : "1", + "postalCode" : "1111AA", + "stateOrProvince" : "NH", + "street" : "Awesome St" + }, + "email" : "testshareholder2@email.com", + "name" : { + "firstName" : "Alice", + "gender" : "FEMALE", + "lastName" : "Fields" + } + } + ], + "taxId" : "BV123456789" + }, + "email" : "test@email.com", + "fullPhoneNumber" : "+31612345678", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolder-general" : { + "summary" : "Update account holder details", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "accountHolderDetails" : { + "address" : { + "city" : "NY", + "country" : "US", + "postalCode" : "12345", + "stateOrProvince" : "NH", + "street" : "Teststreet 1", + "houseNumberOrName" : "100" + }, + "email" : "test@adyen.com", + "individualDetails" : { + "name" : { + "firstName" : "Simon", + "gender" : "MALE", + "lastName" : "Hopper" + }, + "personalData" : { + "dateOfBirth" : "1970-01-01", + "documentData" : [ + { + "number" : "1234567890", + "type" : "ID" + } + ], + "nationality" : "NL" + } + }, + "merchantCategoryCode" : "7999", + "fullPhoneNumber" : "+31612345678", + "webAddress" : "http://www.accountholderwebsite.com" + } + } + }, + "post-updateAccountHolderState-basic" : { + "summary" : "Update account holder state", + "value" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "disable" : true, + "reason" : "test reason payout", + "stateType" : "Payout" + } + }, + "post-uploadDocument-basic" : { + "summary" : "Upload a document", + "value" : { + "documentContent" : "dGVzdCBkb2N1bWVudCBjb250ZW50", + "documentDetail" : { + "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER", + "documentType" : "PASSPORT", + "filename" : "passport.png", + "description" : "test passport description" + } + } + } } } } \ No newline at end of file diff --git a/json/BinLookupService-v40.json b/json/BinLookupService-v40.json index acce380..1441e4a 100644 --- a/json/BinLookupService-v40.json +++ b/json/BinLookupService-v40.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "40", + "x-publicVersion" : true, "title" : "Adyen BinLookup API", "description" : "The BIN Lookup API provides endpoints for retrieving information, such as cost estimates, and 3D Secure supported version based on a given BIN.", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -23,13 +24,19 @@ "/get3dsAvailability" : { "post" : { "summary" : "Checks 3D Secure availability.", - "description" : "Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).", + "x-addedInVersion" : 1, "operationId" : "post-get3dsAvailability", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "get3dsAvailability" : { + "$ref" : "#/components/examples/post-get3dsAvailability-get3dsAvailability" + } + }, "schema" : { "$ref" : "#/components/schemas/ThreeDSAvailabilityRequest" } @@ -48,19 +55,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -75,6 +122,23 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "getCostEstimateMinimal" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateMinimal" + }, + "getCostEstimate" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimate" + }, + "getCostEstimateRecurringContract" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateRecurringContract" + }, + "getCostEstimateMinimal3DS" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateMinimal3DS" + }, + "getCostEstimateEncryptedCard" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateEncryptedCard" + } + }, "schema" : { "$ref" : "#/components/schemas/CostEstimateRequest" } @@ -93,19 +157,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,7 +226,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -209,10 +313,6 @@ "minLength" : 4, "type" : "string" }, - "encryptedCard" : { - "deprecated" : true, - "type" : "string" - }, "encryptedCardNumber" : { "description" : "Encrypted data that stores card information for non PCI-compliant use cases. The encrypted data must be created with the Checkout Card Component or Secured Fields Component, and must contain the `encryptedCardNumber` field.\n\n> Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request.", "type" : "string" @@ -226,7 +326,7 @@ "$ref" : "#/components/schemas/MerchantDetails" }, "recurring" : { - "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/checkout/tokenization).", + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/online-payments/tokenization).", "$ref" : "#/components/schemas/Recurring" }, "selectedRecurringDetailReference" : { @@ -244,7 +344,7 @@ "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" } }, @@ -311,7 +411,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -324,15 +424,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -342,6 +445,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ThreeDS2CardRangeDetail" : { "properties" : { "brandCode" : { @@ -440,6 +563,120 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-get3dsAvailability-get3dsAvailability" : { + "summary" : "Get 3D Secure availability", + "description" : "Example request to check 3D Secure availability", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "cardNumber" : "4111111111111111" + } + }, + "post-getCostEstimate-getCostEstimate" : { + "summary" : "Estimate the transaction cost", + "description" : "Example request to get the estimated cost of a transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "shopperInteraction" : "Ecommerce" + } + }, + "post-getCostEstimate-getCostEstimateEncryptedCard" : { + "summary" : "Estimate the transaction cost using an encrypted card number", + "description" : "Example request to get the estimated cost of a transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "encryptedCardNumber" : "test_5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "shopperInteraction" : "Ecommerce" + } + }, + "post-getCostEstimate-getCostEstimateMinimal" : { + "summary" : "Estimate the transaction cost (minimal)", + "description" : "Example request to get the estimated cost of a transaction with minimum details", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-getCostEstimate-getCostEstimateMinimal3DS" : { + "summary" : "Estimate the transaction cost (minimal with 3DSecure)", + "description" : "Example request to get the estimated cost of a 3D Secure transaction with minimum details", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-getCostEstimate-getCostEstimateRecurringContract" : { + "summary" : "Estimate the transaction cost (recurring contract)", + "description" : "Example request to get the estimated cost of a recurring transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "selectedRecurringDetailReference" : "1234567890123456", + "shopperInteraction" : "Ecommerce", + "shopperReference" : "123456" + } + } } } } \ No newline at end of file diff --git a/json/BinLookupService-v50.json b/json/BinLookupService-v50.json index 54e4b22..3f19802 100644 --- a/json/BinLookupService-v50.json +++ b/json/BinLookupService-v50.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "50", + "x-publicVersion" : true, "title" : "Adyen BinLookup API", "description" : "The BIN Lookup API provides endpoints for retrieving information, such as cost estimates, and 3D Secure supported version based on a given BIN.", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -23,13 +24,19 @@ "/get3dsAvailability" : { "post" : { "summary" : "Checks 3D Secure availability.", - "description" : "Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).", + "x-addedInVersion" : 1, "operationId" : "post-get3dsAvailability", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "get3dsAvailability" : { + "$ref" : "#/components/examples/post-get3dsAvailability-get3dsAvailability" + } + }, "schema" : { "$ref" : "#/components/schemas/ThreeDSAvailabilityRequest" } @@ -48,19 +55,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -75,6 +122,23 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "getCostEstimateMinimal" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateMinimal" + }, + "getCostEstimate" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimate" + }, + "getCostEstimateRecurringContract" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateRecurringContract" + }, + "getCostEstimateMinimal3DS" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateMinimal3DS" + }, + "getCostEstimateEncryptedCard" : { + "$ref" : "#/components/examples/post-getCostEstimate-getCostEstimateEncryptedCard" + } + }, "schema" : { "$ref" : "#/components/schemas/CostEstimateRequest" } @@ -93,19 +157,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -122,7 +226,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -217,10 +321,6 @@ "minLength" : 4, "type" : "string" }, - "encryptedCard" : { - "deprecated" : true, - "type" : "string" - }, "encryptedCardNumber" : { "description" : "Encrypted data that stores card information for non PCI-compliant use cases. The encrypted data must be created with the Checkout Card Component or Secured Fields Component, and must contain the `encryptedCardNumber` field.\n\n> Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request.", "type" : "string" @@ -234,7 +334,7 @@ "$ref" : "#/components/schemas/MerchantDetails" }, "recurring" : { - "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/checkout/tokenization).", + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/online-payments/tokenization).", "$ref" : "#/components/schemas/Recurring" }, "selectedRecurringDetailReference" : { @@ -252,7 +352,7 @@ "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" } }, @@ -319,7 +419,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -332,15 +432,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -350,6 +453,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ThreeDS2CardRangeDetail" : { "properties" : { "brandCode" : { @@ -414,6 +545,7 @@ "ThreeDSAvailabilityResponse" : { "properties" : { "binDetails" : { + "x-addedInVersion" : 50, "description" : "Bin Group Details", "$ref" : "#/components/schemas/BinDetail" }, @@ -452,6 +584,120 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-get3dsAvailability-get3dsAvailability" : { + "summary" : "Get 3D Secure availability", + "description" : "Example request to check 3D Secure availability", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "cardNumber" : "4111111111111111" + } + }, + "post-getCostEstimate-getCostEstimate" : { + "summary" : "Estimate the transaction cost", + "description" : "Example request to get the estimated cost of a transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "shopperInteraction" : "Ecommerce" + } + }, + "post-getCostEstimate-getCostEstimateEncryptedCard" : { + "summary" : "Estimate the transaction cost using an encrypted card number", + "description" : "Example request to get the estimated cost of a transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "encryptedCardNumber" : "test_5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "shopperInteraction" : "Ecommerce" + } + }, + "post-getCostEstimate-getCostEstimateMinimal" : { + "summary" : "Estimate the transaction cost (minimal)", + "description" : "Example request to get the estimated cost of a transaction with minimum details", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-getCostEstimate-getCostEstimateMinimal3DS" : { + "summary" : "Estimate the transaction cost (minimal with 3DSecure)", + "description" : "Example request to get the estimated cost of a 3D Secure transaction with minimum details", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "cardNumber" : "5101180000000007", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-getCostEstimate-getCostEstimateRecurringContract" : { + "summary" : "Estimate the transaction cost (recurring contract)", + "description" : "Example request to get the estimated cost of a recurring transaction", + "value" : { + "amount" : { + "value" : 1234, + "currency" : "EUR" + }, + "assumptions" : { + "assumeLevel3Data" : true, + "assume3DSecureAuthenticated" : true + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "merchantDetails" : { + "countryCode" : "NL", + "mcc" : "7411", + "enrolledIn3DSecure" : true + }, + "selectedRecurringDetailReference" : "1234567890123456", + "shopperInteraction" : "Ecommerce", + "shopperReference" : "123456" + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v37.json b/json/CheckoutService-v37.json index bc2381b..20b83d3 100644 --- a/json/CheckoutService-v37.json +++ b/json/CheckoutService-v37.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "37", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v37/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v37/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,27 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +980,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1067,32 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1111,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1191,21 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1217,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1304,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1334,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -614,18 +1447,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -633,7 +1466,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -860,13 +1697,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1091,6 +1936,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1100,7 +1973,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1234,6 +2107,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1301,6 +2178,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1404,12 +2357,44 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1418,9 +2403,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1443,30 +2426,23 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -1482,9 +2458,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1531,6 +2507,20 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1538,6 +2528,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1566,44 +2557,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1611,14 +2590,16 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1705,37 +2686,39 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "recurringDetailReference" : { @@ -1749,11 +2732,25 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutBalanceCheckRequest" : { "properties" : { @@ -1762,10 +2759,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1775,6 +2772,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1799,6 +2799,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1806,26 +2809,30 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1839,11 +2846,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -1853,10 +2862,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1865,10 +2876,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1891,6 +2904,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1916,11 +2930,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1934,15 +2948,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1950,33 +2966,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -1991,9 +3013,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2001,6 +3026,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2020,7 +3048,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2039,7 +3068,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2113,15 +3142,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2129,6 +3162,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2148,7 +3184,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2175,7 +3212,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2258,6 +3295,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2313,6 +3351,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2323,9 +3362,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2334,7 +3374,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2353,7 +3393,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2377,9 +3417,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2428,7 +3475,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2436,11 +3483,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2464,7 +3511,7 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" } }, @@ -2478,16 +3525,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2513,7 +3554,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -2528,9 +3570,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -2556,7 +3598,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -2573,7 +3616,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -2591,7 +3634,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -2608,7 +3652,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -2726,6 +3771,27 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { "recurringDetailReference" : { @@ -2738,25 +3804,19 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", - "type" : "string" - }, "googlePayToken" : { - "description" : "", + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, "recurringDetailReference" : { @@ -2770,10 +3830,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -2792,9 +3851,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -2849,6 +3908,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -2861,6 +3929,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -2875,33 +3955,24 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "token" : { - "type" : "string" - }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -2917,7 +3988,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -2938,7 +4010,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -2960,6 +4033,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -2990,8 +4071,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3007,9 +4088,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3028,10 +4109,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3057,14 +4138,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3079,7 +4158,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3087,17 +4167,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3109,65 +4178,47 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, "type" : { "default" : "openinvoice", "description" : "**openinvoice**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3186,7 +4237,8 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { @@ -3198,13 +4250,6 @@ "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3217,56 +4262,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3278,14 +4340,115 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3304,7 +4467,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3315,7 +4478,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3328,12 +4491,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3377,7 +4535,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3389,18 +4547,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3418,7 +4576,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3455,10 +4612,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -3507,10 +4660,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3520,6 +4673,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3544,6 +4700,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3551,10 +4710,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3565,7 +4726,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3589,14 +4751,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -3604,8 +4768,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -3636,10 +4799,10 @@ "PaymentRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3649,6 +4812,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3673,6 +4839,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3680,21 +4849,24 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -3709,6 +4881,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -3717,6 +4890,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -3730,27 +4904,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -3764,17 +4944,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -3783,10 +4966,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -3809,58 +4994,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -3869,49 +5111,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -3924,6 +5124,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -3933,10 +5134,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -3957,11 +5160,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -3975,15 +5178,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -3991,27 +5196,32 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4027,9 +5237,12 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4037,6 +5250,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4056,7 +5272,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "details" : { "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", @@ -4097,11 +5314,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4122,10 +5340,10 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4135,6 +5353,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4159,6 +5380,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4166,10 +5390,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4180,17 +5406,20 @@ "$ref" : "#/components/schemas/Amount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4205,6 +5434,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4217,6 +5447,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4230,23 +5461,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4260,17 +5496,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4279,10 +5518,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4318,6 +5559,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4326,11 +5568,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4344,15 +5586,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4360,17 +5604,27 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, @@ -4379,6 +5633,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4421,9 +5676,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4431,6 +5689,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4450,7 +5711,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authResponse" : { "description" : "The authorisation code representing the authentication result.\n\nPossible values:\n* Received\n* Authorised\n* Error\n* Refused\n* Cancelled\n* Unknown", @@ -4481,11 +5743,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4503,7 +5766,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -4530,14 +5793,43 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -4550,6 +5842,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -4591,10 +5884,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -4636,6 +5925,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -4963,7 +6260,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -4971,7 +6268,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5027,8 +6324,8 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5038,7 +6335,7 @@ "type" : "string" }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "type" : { @@ -5048,9 +6345,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5073,12 +6370,32 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5141,7 +6458,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5153,11 +6470,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5184,7 +6501,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5220,9 +6537,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5318,6 +6633,31 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { "recurringDetailReference" : { @@ -5335,15 +6675,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5354,32 +6694,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -5395,9 +6727,25 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -5410,6 +6758,454 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.3.0" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v40.json b/json/CheckoutService-v40.json index fbb39d9..c148251 100644 --- a/json/CheckoutService-v40.json +++ b/json/CheckoutService-v40.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "40", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v40/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v40/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,53 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1135,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1215,21 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1241,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1328,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1358,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -732,18 +1589,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -751,7 +1608,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -978,13 +1839,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1209,6 +2078,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1218,7 +2115,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1352,6 +2249,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1419,6 +2320,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1522,12 +2499,44 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1536,9 +2545,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1561,30 +2568,23 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -1600,9 +2600,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1649,6 +2649,20 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1656,6 +2670,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1684,44 +2699,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1729,14 +2732,16 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1747,34 +2752,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1862,37 +2874,39 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "recurringDetailReference" : { @@ -1906,15 +2920,30 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1923,10 +2952,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1936,6 +2965,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1960,6 +2992,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1967,30 +3002,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2004,11 +3044,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2018,10 +3060,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2030,14 +3074,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2060,6 +3107,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2085,11 +3133,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2103,15 +3151,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2119,37 +3169,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2164,9 +3221,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2174,6 +3234,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2193,7 +3256,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2212,7 +3276,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2286,15 +3350,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2302,6 +3370,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2321,7 +3392,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2348,7 +3420,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2431,6 +3503,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2486,6 +3559,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2496,9 +3570,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2507,7 +3582,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2526,7 +3601,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2550,9 +3625,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2601,7 +3683,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2609,11 +3691,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2637,10 +3719,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2662,7 +3745,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2684,16 +3769,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2719,7 +3798,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -2734,9 +3814,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -2762,7 +3842,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -2779,7 +3860,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -2797,7 +3878,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -2814,7 +3896,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -2932,6 +4015,27 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { "recurringDetailReference" : { @@ -2944,25 +4048,19 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", - "type" : "string" - }, "googlePayToken" : { - "description" : "", + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, "recurringDetailReference" : { @@ -2976,10 +4074,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -2998,9 +4095,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3055,6 +4152,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3067,6 +4173,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3081,33 +4199,24 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "token" : { - "type" : "string" - }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3123,7 +4232,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3144,7 +4254,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3166,6 +4277,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3196,8 +4315,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3213,9 +4332,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3234,10 +4353,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3320,14 +4439,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3342,7 +4459,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3350,17 +4468,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3372,65 +4479,47 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, "type" : { "default" : "openinvoice", "description" : "**openinvoice**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3449,7 +4538,8 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { @@ -3461,13 +4551,6 @@ "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3480,56 +4563,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3541,14 +4641,123 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3567,7 +4776,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3578,7 +4787,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3591,12 +4800,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3640,7 +4844,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3652,18 +4856,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3681,7 +4885,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3718,10 +4921,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -3770,10 +4969,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3783,6 +4982,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3807,6 +5009,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3814,10 +5019,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3828,7 +5035,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3852,14 +5060,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -3867,8 +5077,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -3899,14 +5108,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3916,6 +5126,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3940,6 +5153,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3947,25 +5163,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -3980,6 +5200,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -3988,6 +5209,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4001,27 +5223,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4035,17 +5263,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4054,14 +5285,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4081,6 +5315,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4088,58 +5323,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4148,49 +5440,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4203,6 +5453,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4212,10 +5463,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4236,11 +5489,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4254,15 +5507,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4270,31 +5525,37 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4310,9 +5571,12 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4320,6 +5584,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4339,9 +5606,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4387,11 +5656,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4412,10 +5682,10 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4425,6 +5695,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4449,6 +5722,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4456,10 +5732,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4470,21 +5748,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4499,6 +5781,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4511,6 +5794,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4524,23 +5808,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4554,17 +5843,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4573,10 +5865,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4612,6 +5906,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4620,11 +5915,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4638,15 +5933,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4654,17 +5951,27 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, @@ -4673,6 +5980,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4715,9 +6023,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4725,6 +6036,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4744,7 +6058,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -4771,11 +6086,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4793,7 +6109,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -4819,14 +6135,43 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -4839,15 +6184,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -4889,10 +6237,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -4934,6 +6278,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5261,7 +6613,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5269,7 +6621,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5345,8 +6697,8 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5356,7 +6708,7 @@ "type" : "string" }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "type" : { @@ -5366,9 +6718,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5391,12 +6743,32 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5459,7 +6831,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5471,11 +6843,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5502,7 +6874,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5538,9 +6910,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5579,8 +6949,8 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -5623,7 +6993,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -5641,11 +7011,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -5693,6 +7063,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -5701,6 +7072,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -5725,6 +7097,31 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { "recurringDetailReference" : { @@ -5742,15 +7139,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5761,32 +7158,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -5802,9 +7191,25 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -5817,6 +7222,648 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.3.0" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryMonth" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryYear" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "recurringDetailReference" : "8315791039321763" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v41.json b/json/CheckoutService-v41.json index 00a4110..a61a688 100644 --- a/json/CheckoutService-v41.json +++ b/json/CheckoutService-v41.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "41", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v41/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v41/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,59 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1141,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1221,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1253,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1340,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1370,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -732,18 +1601,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -751,7 +1620,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -978,13 +1851,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1209,6 +2090,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1218,7 +2127,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1352,6 +2261,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1419,6 +2332,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1522,12 +2511,44 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1536,9 +2557,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1561,30 +2580,23 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -1600,9 +2612,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1649,6 +2661,20 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1656,6 +2682,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1684,44 +2711,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1729,14 +2744,16 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1747,34 +2764,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1862,37 +2886,39 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "recurringDetailReference" : { @@ -1906,15 +2932,30 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1923,10 +2964,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1936,6 +2977,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1960,6 +3004,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1967,30 +3014,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2004,11 +3056,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2018,10 +3072,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2030,14 +3086,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2060,6 +3119,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2085,11 +3145,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2103,15 +3163,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2119,37 +3181,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2164,9 +3233,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2174,6 +3246,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2193,7 +3268,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2212,7 +3288,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2286,15 +3362,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2302,6 +3382,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2321,7 +3404,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2348,7 +3432,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2431,6 +3515,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2486,6 +3571,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2496,9 +3582,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2507,7 +3594,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2526,7 +3613,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2550,9 +3637,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2601,7 +3695,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2609,11 +3703,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2637,10 +3731,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2662,7 +3757,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2684,16 +3781,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2719,7 +3810,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -2734,9 +3826,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -2762,7 +3854,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -2779,7 +3872,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -2797,7 +3890,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -2814,7 +3908,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -2932,6 +4027,27 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { "recurringDetailReference" : { @@ -2944,25 +4060,19 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", - "type" : "string" - }, "googlePayToken" : { - "description" : "", + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, "recurringDetailReference" : { @@ -2976,10 +4086,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -2998,9 +4107,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3055,6 +4164,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3067,6 +4185,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3081,33 +4211,24 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "token" : { - "type" : "string" - }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3123,7 +4244,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3144,7 +4266,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3166,6 +4289,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3196,8 +4327,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3213,9 +4344,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3234,10 +4365,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3320,14 +4451,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3342,7 +4471,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3350,17 +4480,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3372,65 +4491,47 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, "type" : { "default" : "openinvoice", "description" : "**openinvoice**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3449,7 +4550,8 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { @@ -3461,13 +4563,6 @@ "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3480,56 +4575,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3541,14 +4653,128 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3567,7 +4793,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3578,7 +4804,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3591,12 +4817,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3640,7 +4861,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3652,18 +4873,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3681,7 +4902,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3718,10 +4938,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -3770,10 +4986,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3783,6 +4999,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3807,6 +5026,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3814,10 +5036,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3828,7 +5052,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3852,14 +5077,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -3867,8 +5094,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -3899,14 +5125,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3916,6 +5143,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3940,6 +5170,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3947,25 +5180,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -3980,6 +5217,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -3988,6 +5226,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4001,27 +5240,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4035,17 +5280,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4054,14 +5302,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4081,6 +5332,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4088,58 +5340,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4148,49 +5457,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4203,6 +5470,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4212,10 +5480,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4236,11 +5506,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4254,15 +5524,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4270,31 +5542,37 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4310,9 +5588,12 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4320,6 +5601,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4339,9 +5623,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4387,11 +5673,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4406,16 +5693,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4425,6 +5717,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4449,6 +5744,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4456,10 +5754,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4470,21 +5770,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4499,6 +5803,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4511,6 +5816,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4524,23 +5830,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4554,17 +5865,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4573,10 +5887,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4612,6 +5928,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4620,11 +5937,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4638,15 +5955,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4654,17 +5973,27 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, @@ -4673,6 +6002,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4715,9 +6045,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4725,6 +6058,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4744,7 +6080,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -4771,11 +6108,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4793,7 +6131,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -4819,14 +6157,43 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -4839,15 +6206,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -4889,10 +6259,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -4934,6 +6300,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5261,7 +6635,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5269,7 +6643,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5345,8 +6719,8 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5356,7 +6730,7 @@ "type" : "string" }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "type" : { @@ -5366,9 +6740,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5391,12 +6765,32 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5459,7 +6853,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5471,11 +6865,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5502,7 +6896,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5538,9 +6932,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5579,8 +6971,8 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -5623,7 +7015,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -5641,11 +7033,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -5657,6 +7049,38 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -5693,6 +7117,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -5701,6 +7126,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -5725,6 +7151,31 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { "recurringDetailReference" : { @@ -5742,15 +7193,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5761,32 +7212,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -5802,9 +7245,25 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -5817,6 +7276,729 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "street" : "Haarlem", + "city" : "New York", + "houseNumberOrName" : "37", + "stateOrProvince" : "CA", + "postalCode" : "10BA" + }, + "shopperEmail" : "s.hopper@test.com", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryMonth" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryYear" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "recurringDetailReference" : "8315791039321763" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v46.json b/json/CheckoutService-v46.json index 83d27b8..6cb7884 100644 --- a/json/CheckoutService-v46.json +++ b/json/CheckoutService-v46.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "46", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v46/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v46/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,59 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1141,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1221,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1253,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1340,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1370,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -732,18 +1601,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -751,7 +1620,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -978,13 +1851,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1209,6 +2090,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1218,7 +2127,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1352,6 +2261,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1419,6 +2332,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1522,12 +2511,44 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1536,9 +2557,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1561,30 +2580,23 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -1600,9 +2612,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1649,6 +2661,20 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1656,6 +2682,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1684,44 +2711,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1729,14 +2744,16 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1747,34 +2764,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1862,37 +2886,39 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "recurringDetailReference" : { @@ -1906,15 +2932,30 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1923,10 +2964,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1936,6 +2977,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1960,6 +3004,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1967,30 +3014,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2004,11 +3056,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2018,10 +3072,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2030,14 +3086,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2060,6 +3119,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2085,11 +3145,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2103,15 +3163,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2119,37 +3181,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2164,9 +3233,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2174,6 +3246,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2193,7 +3268,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2212,7 +3288,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2286,15 +3362,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2302,6 +3382,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2321,7 +3404,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2348,7 +3432,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2431,6 +3515,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2486,6 +3571,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2496,9 +3582,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2507,7 +3594,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2526,7 +3613,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2550,9 +3637,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2601,7 +3695,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2609,11 +3703,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2637,10 +3731,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2662,7 +3757,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2684,16 +3781,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2719,7 +3810,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -2734,9 +3826,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -2762,7 +3854,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -2779,7 +3872,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -2797,7 +3890,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -2814,7 +3908,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -2932,6 +4027,27 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { "recurringDetailReference" : { @@ -2944,25 +4060,19 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", - "type" : "string" - }, "googlePayToken" : { - "description" : "", + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, "recurringDetailReference" : { @@ -2976,10 +4086,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -2998,9 +4107,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3055,6 +4164,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3067,6 +4185,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3081,33 +4211,24 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "token" : { - "type" : "string" - }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3123,7 +4244,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3144,7 +4266,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3166,6 +4289,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3196,8 +4327,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3213,9 +4344,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3234,10 +4365,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3320,14 +4451,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3342,7 +4471,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3350,17 +4480,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3372,65 +4491,47 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, "recurringDetailReference" : { "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, "type" : { "default" : "openinvoice", "description" : "**openinvoice**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3449,7 +4550,8 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { @@ -3461,13 +4563,6 @@ "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3480,56 +4575,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3541,14 +4653,128 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3567,7 +4793,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3578,7 +4804,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3591,12 +4817,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3640,7 +4861,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3652,18 +4873,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3681,7 +4902,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3718,10 +4938,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -3770,10 +4986,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3783,6 +4999,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3807,6 +5026,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3814,10 +5036,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3828,7 +5052,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3852,14 +5077,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -3867,8 +5094,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -3899,14 +5125,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -3916,6 +5143,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -3940,6 +5170,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -3947,25 +5180,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -3980,6 +5217,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -3988,6 +5226,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4001,27 +5240,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4035,17 +5280,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4054,14 +5302,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4081,6 +5332,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4088,58 +5340,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4148,49 +5457,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4203,6 +5470,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4212,10 +5480,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4236,11 +5506,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4254,15 +5524,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4270,31 +5542,37 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4310,9 +5588,12 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4320,6 +5601,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4339,9 +5623,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4387,11 +5673,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4406,16 +5693,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4425,6 +5717,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4449,6 +5744,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4456,10 +5754,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4470,21 +5770,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4499,6 +5803,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4511,6 +5816,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4524,23 +5830,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4554,17 +5865,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4573,10 +5887,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4612,6 +5928,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4620,11 +5937,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4638,15 +5955,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4654,17 +5973,27 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, @@ -4673,6 +6002,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4715,9 +6045,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4725,6 +6058,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4744,7 +6080,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -4771,11 +6108,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4793,7 +6131,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -4819,14 +6157,43 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -4839,15 +6206,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -4889,10 +6259,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -4934,6 +6300,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5261,7 +6635,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5269,7 +6643,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5345,8 +6719,8 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5356,7 +6730,7 @@ "type" : "string" }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "type" : { @@ -5366,9 +6740,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5391,12 +6765,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5459,7 +6861,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5471,11 +6873,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5502,7 +6904,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5538,9 +6940,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5579,8 +6979,8 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -5623,7 +7023,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -5641,11 +7041,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -5657,6 +7057,38 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -5693,6 +7125,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -5701,6 +7134,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -5725,6 +7159,31 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { "recurringDetailReference" : { @@ -5742,15 +7201,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5761,32 +7220,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -5802,9 +7253,25 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -5817,6 +7284,730 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryMonth" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryYear" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "recurringDetailReference" : "8315791039321763" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v49.json b/json/CheckoutService-v49.json index 2fe4d97..436984b 100644 --- a/json/CheckoutService-v49.json +++ b/json/CheckoutService-v49.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "49", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v49/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v49/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,59 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1141,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1221,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1253,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1340,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1370,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -721,7 +1590,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -732,18 +1609,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -751,7 +1628,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -978,13 +1859,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1209,6 +2098,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1218,7 +2135,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1352,6 +2269,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1419,6 +2340,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1522,12 +2519,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1536,9 +2573,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1561,35 +2596,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1600,9 +2636,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1649,6 +2685,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1656,6 +2714,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1684,44 +2743,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1729,14 +2776,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1747,34 +2804,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1862,40 +2926,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1906,31 +2980,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1939,10 +3035,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1952,6 +3048,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1976,6 +3075,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1983,30 +3085,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2020,11 +3127,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2034,10 +3143,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2046,14 +3157,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2076,6 +3190,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2101,11 +3216,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2119,15 +3234,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2135,37 +3252,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2180,9 +3304,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2190,6 +3317,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2209,7 +3339,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2228,7 +3359,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2249,6 +3380,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2302,15 +3480,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2318,6 +3500,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2337,7 +3522,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2364,7 +3550,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2390,23 +3576,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2431,11 +3624,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2483,7 +3683,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2494,11 +3694,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2514,23 +3721,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2544,16 +3758,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2564,16 +3820,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2584,11 +3847,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2607,6 +3877,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2662,7 +3933,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2689,11 +3960,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2742,6 +4020,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2752,9 +4031,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2763,7 +4043,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2782,7 +4062,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2806,9 +4086,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2857,7 +4144,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2865,11 +4152,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2893,10 +4180,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2918,7 +4206,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2940,16 +4230,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2975,7 +4259,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -2990,9 +4275,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3018,7 +4303,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3035,7 +4321,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3053,7 +4339,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3070,7 +4357,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3188,9 +4476,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3200,28 +4525,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3232,10 +4559,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3243,7 +4569,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3254,9 +4588,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3311,6 +4645,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3323,6 +4666,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3337,33 +4692,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3379,7 +4733,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3400,7 +4755,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3422,6 +4778,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3452,8 +4816,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3469,9 +4833,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3490,10 +4854,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3576,14 +4940,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3598,7 +4960,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3606,17 +4969,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3628,46 +4980,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3677,16 +5015,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3705,25 +5055,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3736,56 +5088,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3797,14 +5166,172 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3823,7 +5350,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3834,7 +5361,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3847,12 +5374,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3896,7 +5418,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3908,18 +5430,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3937,7 +5459,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3945,6 +5466,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -3981,10 +5503,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4033,10 +5551,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4046,6 +5564,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4070,6 +5591,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4077,10 +5601,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4091,7 +5617,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4115,14 +5642,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4130,8 +5659,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4158,6 +5686,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4169,14 +5698,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4186,6 +5716,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4210,6 +5743,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4217,25 +5753,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4250,10 +5790,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4262,6 +5804,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4275,27 +5818,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4309,17 +5858,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4328,14 +5880,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4355,6 +5910,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4362,58 +5918,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4422,49 +6035,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4477,6 +6048,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4486,10 +6058,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4510,11 +6084,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4528,15 +6102,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4544,35 +6120,42 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4588,11 +6171,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4602,27 +6195,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4630,6 +6223,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4649,9 +6245,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4670,6 +6268,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4701,11 +6300,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4720,16 +6320,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4739,6 +6344,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4763,6 +6371,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4770,10 +6381,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4784,21 +6397,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4813,6 +6430,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4821,6 +6439,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4829,6 +6448,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4842,23 +6462,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4872,17 +6497,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4891,10 +6519,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4930,6 +6560,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4938,11 +6569,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4956,15 +6587,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4972,21 +6605,32 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, @@ -4995,6 +6639,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5037,9 +6682,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5047,6 +6695,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5066,7 +6717,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5093,11 +6745,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5115,7 +6768,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5141,14 +6794,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5161,15 +6851,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5182,6 +6875,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5218,10 +6912,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5263,6 +6953,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5590,7 +7288,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5598,7 +7296,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5674,17 +7372,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5695,9 +7401,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5709,7 +7415,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5720,12 +7434,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5788,7 +7530,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5800,11 +7542,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5831,7 +7573,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5905,7 +7647,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5914,9 +7664,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5955,16 +7703,18 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -5986,11 +7736,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6015,7 +7767,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6033,11 +7785,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6045,6 +7797,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6053,6 +7806,48 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6089,6 +7884,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6097,6 +7893,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6121,9 +7918,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6138,15 +7976,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6157,32 +7995,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6198,9 +8028,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6213,6 +8067,731 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryMonth" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryYear" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737", + "storeDetails" : true + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "recurringDetailReference" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v50.json b/json/CheckoutService-v50.json index 4177706..aa6e82b 100644 --- a/json/CheckoutService-v50.json +++ b/json/CheckoutService-v50.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "50", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v50/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v50/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,62 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "subscription-first-transaction" : { + "$ref" : "#/components/examples/post-payments-subscription-first-transaction" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1144,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1224,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1256,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1343,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1373,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -615,6 +1487,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,7 +1603,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -741,18 +1622,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -760,7 +1641,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -987,13 +1872,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1218,6 +2111,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1227,7 +2148,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1361,6 +2282,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1428,6 +2353,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1531,12 +2532,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1545,9 +2586,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1570,35 +2609,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1609,9 +2649,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1658,6 +2698,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1665,6 +2727,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1693,44 +2756,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1738,14 +2789,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1756,34 +2817,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1871,40 +2939,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1915,31 +2993,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1948,10 +3048,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1961,6 +3061,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1985,6 +3088,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1992,30 +3098,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2029,11 +3140,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2043,10 +3156,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2055,14 +3170,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2085,6 +3203,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2110,11 +3229,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2128,15 +3247,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2144,42 +3265,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2194,9 +3323,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2204,6 +3336,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2223,7 +3358,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2242,7 +3378,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2263,6 +3399,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2316,15 +3499,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2332,6 +3519,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2351,7 +3541,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2378,7 +3569,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2404,23 +3595,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2445,11 +3643,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2497,7 +3702,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2508,11 +3713,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2528,23 +3740,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2558,16 +3777,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2578,16 +3839,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2598,11 +3866,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2621,6 +3896,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2676,7 +3952,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2703,11 +3979,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2756,6 +4039,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2766,9 +4050,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2777,7 +4062,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2796,7 +4081,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2820,9 +4105,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2871,7 +4163,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2879,11 +4171,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2894,6 +4186,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } @@ -2911,10 +4204,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2936,7 +4230,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2958,16 +4254,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2993,7 +4283,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -3008,9 +4299,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3036,7 +4327,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3053,7 +4345,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3071,7 +4363,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3088,7 +4381,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3206,9 +4500,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3218,28 +4549,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3250,10 +4583,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3261,7 +4593,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3272,9 +4612,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3329,6 +4669,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3341,6 +4690,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3355,33 +4716,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3397,7 +4757,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3418,7 +4779,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3440,6 +4802,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3470,8 +4840,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3487,9 +4857,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3508,10 +4878,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3594,14 +4964,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3616,7 +4984,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3624,17 +4993,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3646,46 +5004,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3695,16 +5039,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3723,25 +5079,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3754,56 +5112,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3815,14 +5190,172 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3841,7 +5374,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3852,7 +5385,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3865,12 +5398,7 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", - "type" : "string" - }, - "id" : { - "description" : "A unique identifier of the payment link.", - "readOnly" : true, + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "lineItems" : { @@ -3914,7 +5442,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3926,18 +5454,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3946,6 +5474,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, @@ -3959,7 +5488,6 @@ "amount", "reference", "merchantAccount", - "id", "url", "status" ] @@ -3967,6 +5495,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -4003,10 +5532,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4055,10 +5580,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4068,6 +5593,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4092,6 +5620,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4099,10 +5630,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4113,7 +5646,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4137,14 +5671,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4152,8 +5688,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4180,6 +5715,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4191,14 +5727,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4208,6 +5745,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4232,6 +5772,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4239,25 +5782,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4272,10 +5819,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4284,6 +5833,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4297,27 +5847,33 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4331,17 +5887,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4350,14 +5909,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4377,6 +5939,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4384,58 +5947,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4444,49 +6064,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4499,6 +6077,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4508,10 +6087,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4532,11 +6113,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4550,15 +6131,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4566,40 +6149,48 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4615,11 +6206,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4629,27 +6230,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4657,6 +6258,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4676,9 +6280,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4697,6 +6303,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4728,11 +6335,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4747,16 +6355,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4766,6 +6379,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4790,6 +6406,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4797,10 +6416,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4811,21 +6432,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4840,6 +6465,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4848,6 +6474,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4856,6 +6483,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4869,23 +6497,28 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4899,17 +6532,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4918,10 +6554,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4957,6 +6595,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4965,11 +6604,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4983,15 +6622,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4999,27 +6640,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "token" : { @@ -5027,6 +6680,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5069,9 +6723,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5079,6 +6736,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5098,7 +6758,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5125,11 +6786,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5147,7 +6809,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5173,14 +6835,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5193,15 +6892,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5214,6 +6916,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5250,10 +6953,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5295,6 +6994,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5622,7 +7329,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5630,7 +7337,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5706,17 +7413,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5727,9 +7442,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5741,7 +7456,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5752,12 +7475,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5820,7 +7571,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5832,11 +7583,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5863,7 +7614,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5937,7 +7688,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5946,9 +7705,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -5987,19 +7744,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -6021,11 +7780,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6050,7 +7811,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6068,11 +7829,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6080,6 +7841,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -6091,6 +7853,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6099,6 +7862,53 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "cavvAlgorithm" : { + "x-addedInVersion" : 50, + "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6135,6 +7945,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6143,6 +7954,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6167,9 +7979,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6184,15 +8037,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6203,32 +8056,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6244,9 +8089,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6259,6 +8128,761 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryMonth" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedExpiryYear" : "adyenjs_0_1_18$MT6ppy0FAMVMLH...", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "CardOnFile" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + }, + "post-payments-subscription-first-transaction" : { + "summary" : "Tokenize card details for a subscription", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "Subscription" + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v51.json b/json/CheckoutService-v51.json index ae3628f..98cc125 100644 --- a/json/CheckoutService-v51.json +++ b/json/CheckoutService-v51.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "51", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v51/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v51/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,62 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "subscription-first-transaction" : { + "$ref" : "#/components/examples/post-payments-subscription-first-transaction" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1144,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1224,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1256,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1343,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1373,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -615,6 +1487,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,7 +1603,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -741,18 +1622,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -760,7 +1641,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -987,13 +1872,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1218,6 +2111,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1227,7 +2148,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1361,6 +2282,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1428,6 +2353,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1531,12 +2532,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1545,9 +2586,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1570,35 +2609,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1609,9 +2649,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1658,6 +2698,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1665,6 +2727,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1693,44 +2756,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1738,14 +2789,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1756,34 +2817,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1871,40 +2939,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1915,31 +2993,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1948,10 +3048,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1961,6 +3061,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1985,6 +3088,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1992,30 +3098,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2029,15 +3140,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2048,10 +3162,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2060,14 +3176,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2090,6 +3209,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2115,11 +3235,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2133,15 +3253,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2149,42 +3271,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2199,9 +3329,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2209,6 +3342,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2228,7 +3364,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2247,7 +3384,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2268,6 +3405,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2321,15 +3505,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2337,6 +3525,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2356,7 +3547,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2383,7 +3575,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2409,23 +3601,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2450,11 +3649,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2502,7 +3708,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2513,11 +3719,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2533,23 +3746,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2563,16 +3783,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2583,16 +3845,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2603,11 +3872,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2626,6 +3902,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2681,7 +3958,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2708,11 +3985,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2761,6 +4045,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2771,9 +4056,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2782,7 +4068,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2801,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2825,9 +4111,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2876,7 +4169,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2884,11 +4177,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2899,6 +4192,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } @@ -2916,10 +4210,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2941,7 +4236,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2963,16 +4260,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2998,7 +4289,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -3013,9 +4305,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3041,7 +4333,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3058,7 +4351,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3076,7 +4369,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3093,7 +4387,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3211,9 +4506,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3223,28 +4555,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3255,10 +4589,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3266,7 +4599,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3277,9 +4618,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3334,6 +4675,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3346,6 +4696,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3360,33 +4722,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3402,7 +4763,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3423,7 +4785,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3445,6 +4808,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3475,8 +4846,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3492,9 +4863,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3513,10 +4884,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3599,14 +4970,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3621,7 +4990,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3629,17 +4999,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3651,46 +5010,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3700,16 +5045,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3728,25 +5085,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3759,56 +5118,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3820,14 +5196,172 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3846,7 +5380,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3857,7 +5391,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3870,10 +5404,11 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "id" : { + "x-addedInVersion" : 51, "description" : "A unique identifier of the payment link.", "readOnly" : true, "type" : "string" @@ -3919,7 +5454,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3931,18 +5466,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3951,6 +5486,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, @@ -3972,6 +5508,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -4008,10 +5545,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4060,10 +5593,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4073,6 +5606,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4097,6 +5633,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4104,10 +5643,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4118,7 +5659,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4138,6 +5680,7 @@ "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -4147,14 +5690,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4162,8 +5707,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4190,6 +5734,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4201,14 +5746,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4218,6 +5764,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4242,6 +5791,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4249,25 +5801,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4282,10 +5838,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4294,6 +5852,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4307,32 +5866,39 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4346,17 +5912,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4365,14 +5934,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4392,6 +5964,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4399,58 +5972,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4459,49 +6089,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4514,6 +6102,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4523,10 +6112,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4547,11 +6138,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4565,15 +6156,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4581,40 +6174,48 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4630,11 +6231,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4644,27 +6255,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4672,6 +6283,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4691,9 +6305,11 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4712,6 +6328,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4743,11 +6360,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4762,16 +6380,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4781,6 +6404,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4805,6 +6431,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4812,10 +6441,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4826,21 +6457,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4855,6 +6490,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4863,6 +6499,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4871,6 +6508,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4884,28 +6522,34 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4919,17 +6563,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4938,10 +6585,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4977,6 +6626,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4985,11 +6635,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -5003,15 +6653,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -5019,27 +6671,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "token" : { @@ -5047,6 +6711,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5089,9 +6754,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5099,6 +6767,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5118,7 +6789,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5145,11 +6817,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5167,7 +6840,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5193,14 +6866,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5213,15 +6923,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5234,6 +6947,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5270,10 +6984,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5315,6 +7025,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5642,7 +7360,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5650,7 +7368,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5726,17 +7444,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5747,9 +7473,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5761,7 +7487,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5772,12 +7506,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5840,7 +7602,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5852,11 +7614,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5883,7 +7645,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5957,7 +7719,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5966,9 +7736,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -6007,19 +7775,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -6041,11 +7811,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6070,7 +7842,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6088,11 +7860,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6100,6 +7872,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -6111,6 +7884,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6119,6 +7893,53 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "cavvAlgorithm" : { + "x-addedInVersion" : 50, + "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6155,6 +7976,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6163,6 +7985,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6187,9 +8010,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6204,15 +8068,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6223,32 +8087,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6264,9 +8120,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6279,6 +8159,761 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "storePaymentMethod" : true, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "CardOnFile" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + }, + "post-payments-subscription-first-transaction" : { + "summary" : "Tokenize card details for a subscription", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "Subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v52.json b/json/CheckoutService-v52.json index 704acaa..9dbc950 100644 --- a/json/CheckoutService-v52.json +++ b/json/CheckoutService-v52.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "52", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v52/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v52/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,62 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "subscription-first-transaction" : { + "$ref" : "#/components/examples/post-payments-subscription-first-transaction" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1144,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1224,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1256,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1343,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1373,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -615,6 +1487,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,7 +1603,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -741,18 +1622,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -760,7 +1641,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -987,13 +1872,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1218,6 +2111,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1227,7 +2148,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1361,6 +2282,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1428,6 +2353,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1531,12 +2532,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1545,9 +2586,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1570,35 +2609,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1609,9 +2649,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1658,6 +2698,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1665,6 +2727,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1693,44 +2756,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1738,14 +2789,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1756,34 +2817,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1871,40 +2939,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1915,31 +2993,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1948,10 +3048,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1961,6 +3061,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1985,6 +3088,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1992,30 +3098,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2029,15 +3140,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2048,10 +3162,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2060,14 +3176,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2090,6 +3209,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2115,11 +3235,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2133,15 +3253,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2149,42 +3271,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2199,9 +3329,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2209,6 +3342,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2228,7 +3364,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2247,7 +3384,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2268,6 +3405,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2321,15 +3505,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2337,6 +3525,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2356,7 +3547,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2383,7 +3575,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2409,23 +3601,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2450,11 +3649,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2502,7 +3708,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2513,11 +3719,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2533,23 +3746,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2563,16 +3783,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2583,16 +3845,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2603,11 +3872,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2626,6 +3902,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2681,7 +3958,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2708,11 +3985,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2761,6 +4045,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2771,9 +4056,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2782,7 +4068,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2801,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2825,9 +4111,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2876,7 +4169,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2884,11 +4177,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2899,6 +4192,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } @@ -2916,10 +4210,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2941,7 +4236,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2963,16 +4260,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2998,7 +4289,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -3013,9 +4305,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3041,7 +4333,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3058,7 +4351,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3076,7 +4369,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3093,7 +4387,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3211,9 +4506,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3223,28 +4555,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3255,10 +4589,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3266,7 +4599,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3277,9 +4618,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3334,6 +4675,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3346,6 +4696,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3360,33 +4722,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3402,7 +4763,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3423,7 +4785,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3445,6 +4808,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3475,8 +4846,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3492,9 +4863,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3513,10 +4884,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3599,14 +4970,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3621,7 +4990,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3629,17 +4999,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3651,46 +5010,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3700,16 +5045,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3728,25 +5085,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3759,56 +5118,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3820,14 +5196,177 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "amount" : { + "x-addedInVersion" : 52, + "description" : "Authorised amount in the transaction.", + "$ref" : "#/components/schemas/Amount" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3846,7 +5385,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3857,7 +5396,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3870,10 +5409,11 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "id" : { + "x-addedInVersion" : 51, "description" : "A unique identifier of the payment link.", "readOnly" : true, "type" : "string" @@ -3919,7 +5459,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3931,18 +5471,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3951,6 +5491,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, @@ -3972,6 +5513,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -4008,10 +5550,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4060,10 +5598,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4073,6 +5611,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4097,6 +5638,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4104,10 +5648,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4118,7 +5664,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4138,6 +5685,7 @@ "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -4147,14 +5695,16 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4162,8 +5712,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4190,6 +5739,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4201,14 +5751,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4218,6 +5769,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4242,6 +5796,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4249,25 +5806,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4282,10 +5843,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4294,6 +5857,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4307,32 +5871,39 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4346,17 +5917,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4365,14 +5939,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4392,6 +5969,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4399,58 +5977,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4459,49 +6094,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4514,6 +6107,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4523,10 +6117,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4547,11 +6143,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4565,15 +6161,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4581,40 +6179,48 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4630,11 +6236,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4644,27 +6260,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4672,6 +6288,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4691,13 +6310,16 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "amount" : { + "x-addedInVersion" : 52, "description" : "Authorised amount in the transaction.", "$ref" : "#/components/schemas/Amount" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4716,6 +6338,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4747,11 +6370,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4766,16 +6390,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4785,6 +6414,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4809,6 +6441,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4816,10 +6451,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4830,21 +6467,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4859,6 +6500,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4867,6 +6509,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4875,6 +6518,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4888,28 +6532,34 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4923,17 +6573,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4942,10 +6595,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4981,6 +6636,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -4989,11 +6645,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -5007,15 +6663,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -5023,27 +6681,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "token" : { @@ -5051,6 +6721,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5093,9 +6764,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5103,6 +6777,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5122,7 +6799,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5149,11 +6827,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5171,7 +6850,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5197,14 +6876,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5217,15 +6933,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5238,6 +6957,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5274,10 +6994,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5319,6 +7035,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5646,7 +7370,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5654,7 +7378,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5730,17 +7454,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5751,9 +7483,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5765,7 +7497,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5776,12 +7516,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5844,7 +7612,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5856,11 +7624,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5887,7 +7655,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5961,7 +7729,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5970,9 +7746,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -6011,19 +7785,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -6045,11 +7821,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6074,7 +7852,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6092,11 +7870,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6104,6 +7882,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -6115,6 +7894,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6123,6 +7903,53 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "cavvAlgorithm" : { + "x-addedInVersion" : 50, + "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6159,6 +7986,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6167,6 +7995,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6191,9 +8020,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6208,15 +8078,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6227,32 +8097,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6268,9 +8130,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6283,6 +8169,761 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "storePaymentMethod" : true, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "CardOnFile" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + }, + "post-payments-subscription-first-transaction" : { + "summary" : "Tokenize card details for a subscription", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "Subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v53.json b/json/CheckoutService-v53.json index c035560..a58fed7 100644 --- a/json/CheckoutService-v53.json +++ b/json/CheckoutService-v53.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "53", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v53/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v53/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,62 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "subscription-first-transaction" : { + "$ref" : "#/components/examples/post-payments-subscription-first-transaction" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1144,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1224,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1256,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1343,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1373,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -615,6 +1487,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,7 +1603,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -741,18 +1622,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -760,7 +1641,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -987,13 +1872,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1218,6 +2111,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1227,7 +2148,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1361,6 +2282,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1428,6 +2353,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1531,12 +2532,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1545,9 +2586,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1570,35 +2609,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1609,9 +2649,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1658,6 +2698,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1665,6 +2727,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1693,44 +2756,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1738,14 +2789,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1756,34 +2817,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1871,40 +2939,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1915,31 +2993,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1948,10 +3048,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1961,6 +3061,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1985,6 +3088,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1992,30 +3098,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2029,15 +3140,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2048,10 +3162,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2060,14 +3176,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2090,6 +3209,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2115,11 +3235,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2133,15 +3253,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2149,42 +3271,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2199,9 +3329,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2209,6 +3342,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2228,7 +3364,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2247,7 +3384,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2268,6 +3405,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2321,15 +3505,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2337,6 +3525,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2356,7 +3547,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2383,7 +3575,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2409,23 +3601,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2450,11 +3649,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2502,7 +3708,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2513,11 +3719,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2533,23 +3746,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2563,16 +3783,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2583,16 +3845,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2603,11 +3872,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2626,6 +3902,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2681,7 +3958,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2708,11 +3985,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2761,6 +4045,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2771,9 +4056,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2782,7 +4068,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2801,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2825,9 +4111,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2876,7 +4169,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2884,11 +4177,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2899,6 +4192,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } @@ -2916,10 +4210,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2941,7 +4236,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2963,16 +4260,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2998,7 +4289,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -3013,9 +4305,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3041,7 +4333,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3058,7 +4351,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3076,7 +4369,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3093,7 +4387,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3211,9 +4506,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3223,28 +4555,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3255,10 +4589,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3266,7 +4599,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3277,9 +4618,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3334,6 +4675,15 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + } + } + }, "Installments" : { "properties" : { "value" : { @@ -3346,6 +4696,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3360,33 +4722,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3402,7 +4763,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3423,7 +4785,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3445,6 +4808,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3475,8 +4846,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3492,9 +4863,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3513,10 +4884,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3599,14 +4970,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3621,7 +4990,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3629,17 +4999,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3651,46 +5010,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3700,16 +5045,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3728,25 +5085,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3759,56 +5118,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3820,14 +5196,177 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "amount" : { + "x-addedInVersion" : 52, + "description" : "Authorised amount in the transaction.", + "$ref" : "#/components/schemas/Amount" + }, + "authentication" : { + "x-addedInVersion" : 40, + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3846,7 +5385,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3857,7 +5396,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3870,10 +5409,11 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "id" : { + "x-addedInVersion" : 51, "description" : "A unique identifier of the payment link.", "readOnly" : true, "type" : "string" @@ -3919,7 +5459,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3931,18 +5471,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3951,6 +5491,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, @@ -3972,6 +5513,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -3993,9 +5535,9 @@ "type" : "array" }, "fundingSource" : { + "x-addedInVersion" : 53, "description" : "The funding source of the payment method.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -4016,10 +5558,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4068,10 +5606,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4081,6 +5619,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4105,6 +5646,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4112,10 +5656,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4126,7 +5672,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4146,6 +5693,7 @@ "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -4155,19 +5703,22 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "splitCardFundingSources" : { - "default" : "false", + "x-addedInVersion" : 53, + "default" : false, "description" : "Boolean value indicating whether the card payment method should be split into separate debit and credit options.", "type" : "boolean" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4175,8 +5726,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4203,6 +5753,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4214,14 +5765,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4231,6 +5783,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4255,6 +5810,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4262,25 +5820,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4295,10 +5857,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4307,6 +5871,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4320,32 +5885,39 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4359,17 +5931,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4378,14 +5953,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4405,6 +5983,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4412,58 +5991,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4472,49 +6108,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4527,6 +6121,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4536,10 +6131,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4560,11 +6157,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4578,15 +6175,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4594,40 +6193,48 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4643,11 +6250,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4657,27 +6274,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4685,6 +6302,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4704,13 +6324,16 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "amount" : { + "x-addedInVersion" : 52, "description" : "Authorised amount in the transaction.", "$ref" : "#/components/schemas/Amount" }, "authentication" : { + "x-addedInVersion" : 40, "additionalProperties" : { "type" : "string" }, @@ -4729,6 +6352,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4760,11 +6384,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4779,16 +6404,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4798,6 +6428,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4822,6 +6455,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4829,10 +6465,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4843,21 +6481,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4872,6 +6514,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4880,6 +6523,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4888,6 +6532,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4901,28 +6546,34 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4936,17 +6587,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4955,10 +6609,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4994,6 +6650,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -5002,11 +6659,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -5020,15 +6677,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -5036,27 +6695,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "token" : { @@ -5064,6 +6735,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5106,9 +6778,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5116,6 +6791,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5135,7 +6813,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5162,11 +6841,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5184,7 +6864,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5210,14 +6890,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5230,15 +6947,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5251,6 +6971,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5272,9 +6993,9 @@ "type" : "array" }, "fundingSource" : { + "x-addedInVersion" : 53, "description" : "The funding source of the payment method.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5295,10 +7016,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5340,6 +7057,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5667,7 +7392,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5675,7 +7400,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5751,17 +7476,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5772,9 +7505,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5786,7 +7519,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5797,12 +7538,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5865,7 +7634,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5877,11 +7646,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5908,7 +7677,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -5982,7 +7751,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5991,9 +7768,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -6032,19 +7807,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -6066,11 +7843,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6095,7 +7874,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6113,11 +7892,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6125,6 +7904,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -6136,6 +7916,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6144,6 +7925,53 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "cavvAlgorithm" : { + "x-addedInVersion" : 50, + "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6180,6 +8008,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6188,6 +8017,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6212,9 +8042,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6229,15 +8100,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6248,32 +8119,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6289,9 +8152,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6304,6 +8191,761 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "storePaymentMethod" : true, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "CardOnFile" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + }, + "post-payments-subscription-first-transaction" : { + "summary" : "Tokenize card details for a subscription", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "Subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + } } } } \ No newline at end of file diff --git a/json/CheckoutService-v64.json b/json/CheckoutService-v64.json index 1b406f6..7a836f2 100644 --- a/json/CheckoutService-v64.json +++ b/json/CheckoutService-v64.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "64", + "x-publicVersion" : true, "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v64/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through 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://checkout-test.adyen.com/v64/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -34,6 +35,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" } @@ -52,19 +58,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -79,6 +145,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-orders-cancel-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" } @@ -97,19 +168,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,13 +248,18 @@ "/originKeys" : { "post" : { "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", "operationId" : "post-originKeys", "x-groupName" : "Utility", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-originKeys-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutUtilityRequest" } @@ -142,19 +278,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -162,13 +358,18 @@ "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/online-payments/pay-by-link#create-payment-links-through-api).", "operationId" : "post-paymentLinks", "x-groupName" : "Payment links", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentLinks-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CreatePaymentLinkRequest" } @@ -187,22 +388,89 @@ "description" : "OK - the request has succeeded." }, "201" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, "description" : "Created - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -214,6 +482,17 @@ "operationId" : "get-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/get-paymentLinks-linkId-basic" + } + } + } + } + }, "parameters" : [ { "description" : "Unique identifier of the payment link.", @@ -237,31 +516,96 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } }, "patch" : { "summary" : "Update the status of a payment link", - "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/online-payments/pay-by-link#update-payment-link-status).", "operationId" : "patch-paymentLinks-linkId", "x-groupName" : "Payment links", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/patch-paymentLinks-linkId-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" } @@ -291,19 +635,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -318,6 +722,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "filtered" : { + "$ref" : "#/components/examples/post-paymentMethods-filtered" + }, + "include-oneclick" : { + "$ref" : "#/components/examples/post-paymentMethods-include-oneclick" + }, + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentMethodsRequest" } @@ -336,19 +751,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -363,6 +838,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-paymentMethods-balance-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" } @@ -381,19 +861,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -401,13 +941,30 @@ "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-paymentSession", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "split" : { + "$ref" : "#/components/examples/post-paymentSession-split" + }, + "web" : { + "$ref" : "#/components/examples/post-paymentSession-web" + }, + "android" : { + "$ref" : "#/components/examples/post-paymentSession-android" + }, + "ios" : { + "$ref" : "#/components/examples/post-paymentSession-ios" + }, + "enableOneClick" : { + "$ref" : "#/components/examples/post-paymentSession-enableOneClick" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentSetupRequest" } @@ -426,19 +983,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -453,6 +1070,62 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "enableOneClick-SF" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-SF" + }, + "giropay" : { + "$ref" : "#/components/examples/post-payments-giropay" + }, + "card-3d-secure-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-securedfields" + }, + "enableOneClick-raw" : { + "$ref" : "#/components/examples/post-payments-enableOneClick-raw" + }, + "applepay" : { + "$ref" : "#/components/examples/post-payments-applepay" + }, + "ideal" : { + "$ref" : "#/components/examples/post-payments-ideal" + }, + "oneclick-securedfields" : { + "$ref" : "#/components/examples/post-payments-oneclick-securedfields" + }, + "subscription-first-transaction" : { + "$ref" : "#/components/examples/post-payments-subscription-first-transaction" + }, + "recurring" : { + "$ref" : "#/components/examples/post-payments-recurring" + }, + "oneclick-direct" : { + "$ref" : "#/components/examples/post-payments-oneclick-direct" + }, + "card-direct" : { + "$ref" : "#/components/examples/post-payments-card-direct" + }, + "googlepay" : { + "$ref" : "#/components/examples/post-payments-googlepay" + }, + "card-3d-secure-2-web" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-2-web" + }, + "sofort" : { + "$ref" : "#/components/examples/post-payments-sofort" + }, + "card-securedfields" : { + "$ref" : "#/components/examples/post-payments-card-securedfields" + }, + "card-3d-secure-direct" : { + "$ref" : "#/components/examples/post-payments-card-3d-secure-direct" + }, + "klarna" : { + "$ref" : "#/components/examples/post-payments-klarna" + }, + "split" : { + "$ref" : "#/components/examples/post-payments-split" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentRequest" } @@ -471,19 +1144,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -491,13 +1224,27 @@ "/payments/details" : { "post" : { "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request, for example when the shopper was redirected to another page to complete the payment.\n\n", "operationId" : "post-payments-details", "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "3d-secure-2-challenge" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-challenge" + }, + "3d-secure-2-fingerprint" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure-2-fingerprint" + }, + "3d-secure" : { + "$ref" : "#/components/examples/post-payments-details-3d-secure" + }, + "app-switch" : { + "$ref" : "#/components/examples/post-payments-details-app-switch" + } + }, "schema" : { "$ref" : "#/components/schemas/DetailsRequest" } @@ -509,26 +1256,86 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" + "$ref" : "#/components/schemas/PaymentDetailsResponse" } } }, "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -536,13 +1343,18 @@ "/payments/result" : { "post" : { "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/online-payments#howitworks).", "operationId" : "post-payments-result", "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "basic" : { + "$ref" : "#/components/examples/post-payments-result-basic" + } + }, "schema" : { "$ref" : "#/components/schemas/PaymentVerificationRequest" } @@ -561,19 +1373,79 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic-401" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic-403" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic-422" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic-500" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -615,6 +1487,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,7 +1603,15 @@ "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -741,18 +1622,18 @@ } }, "required" : [ - "type", "bankAccountNumber" - ] + ], + "title" : "ACH Direct Debit" }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -760,7 +1641,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -987,13 +1872,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1218,6 +2111,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1227,7 +2148,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1361,6 +2282,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1428,6 +2353,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1531,12 +2532,52 @@ "country" ] }, + "AfterpayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "afterpay_default", + "description" : "**afterpay_default**", + "enum" : [ + "afterpay_default", + "afterpaytouch", + "afterpay_b2b" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Afterpay" + }, "AmazonPayDetails" : { "properties" : { "amazonPayToken" : { - "type" : "string" - }, - "checkoutSessionId" : { + "description" : "This is the `amazonPayToken` that you obtained from the [Get Checkout Session](https://amazon-pay-acquirer-guide.s3-eu-west-1.amazonaws.com/v1/amazon-pay-api-v2/checkout-session.html#get-checkout-session) response.", "type" : "string" }, "type" : { @@ -1545,9 +2586,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Amazon Pay" }, "Amount" : { "properties" : { @@ -1570,35 +2609,36 @@ }, "AndroidPayDetails" : { "properties" : { - "androidPayToken" : { - "description" : "", - "type" : "string" - }, "type" : { "default" : "androidpay", "description" : "**androidpay**", "type" : "string" } }, - "required" : [ - "type", - "androidPayToken" - ] + "title" : "Android Pay" }, "ApplePayDetails" : { "properties" : { "applePayToken" : { - "description" : "", + "description" : "The stringified and base64 encoded `paymentData` you retrieved from the Apple framework.", "type" : "string" }, "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1609,9 +2649,9 @@ } }, "required" : [ - "type", "applePayToken" - ] + ], + "title" : "Apple Pay" }, "ApplicationInfo" : { "properties" : { @@ -1658,6 +2698,28 @@ } } }, + "BacsDirectDebitDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "directdebit_GB", + "description" : "**directdebit_GB**", + "type" : "string" + } + }, + "title" : "BACS Direct Debit" + }, "BankAccount" : { "properties" : { "bankAccountNumber" : { @@ -1665,6 +2727,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1693,44 +2756,32 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } } }, - "BillDeskOnlineDetails" : { + "BillDeskDetails" : { "properties" : { "issuer" : { "description" : "The issuer id of the shopper's selected bank.", "type" : "string" }, "type" : { - "default" : "billdesk_online", - "description" : "**billdesk_online**", + "description" : "**billdesk**", + "enum" : [ + "billdesk_online", + "billdesk_wallet" + ], "type" : "string" } }, "required" : [ "type", "issuer" - ] - }, - "BillDeskWalletDetails" : { - "properties" : { - "issuer" : { - "description" : "The issuer id of the shopper's selected bank.", - "type" : "string" - }, - "type" : { - "default" : "billdesk_wallet", - "description" : "**billdesk_wallet**", - "type" : "string" - } - }, - "required" : [ - "type", - "issuer" - ] + ], + "title" : "BillDesk" }, "BlikDetails" : { "properties" : { @@ -1738,14 +2789,24 @@ "description" : "BLIK code consisting of 6 digits.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "type" : { "description" : "**blik**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "BLIK" }, "BrowserInfo" : { "properties" : { @@ -1756,34 +2817,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1871,40 +2939,50 @@ "type" : "string" }, "cvc" : { + "description" : "The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "encryptedCardNumber" : { - "description" : "", + "description" : "The encrypted card number.", "type" : "string" }, "encryptedExpiryMonth" : { - "description" : "", + "description" : "The encrypted card expiry month.", "type" : "string" }, "encryptedExpiryYear" : { - "description" : "", + "description" : "The encrypted card expiry year.", + "type" : "string" + }, + "encryptedSecurityCode" : { + "description" : "The encrypted card verification code.", "type" : "string" }, "expiryMonth" : { + "description" : "The card expiry month. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "expiryYear" : { - "type" : "string" - }, - "fundingSource" : { - "enum" : [ - "credit", - "debit" - ], + "description" : "The card expiry year. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", "type" : "string" }, "holderName" : { + "description" : "The name of the card holder.", "type" : "string" }, "number" : { + "description" : "The card number. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -1915,31 +2993,53 @@ } }, "required" : [ - "type", "encryptedCardNumber", "encryptedExpiryMonth", "encryptedExpiryYear" - ] + ], + "title" : "Card" + }, + "CellulantDetails" : { + "properties" : { + "issuer" : { + "description" : "The Cellulant issuer.", + "type" : "string" + }, + "type" : { + "default" : "cellulant", + "description" : "**Cellulant**", + "type" : "string" + } + }, + "title" : "Cellulant" }, "CheckoutAwaitAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**await**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutBalanceCheckRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1948,10 +3048,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1961,6 +3061,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1985,6 +3088,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1992,30 +3098,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2029,15 +3140,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2048,10 +3162,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2060,14 +3176,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2090,6 +3209,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2115,11 +3235,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2133,15 +3253,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2149,42 +3271,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2199,9 +3329,12 @@ "CheckoutBalanceCheckResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2209,6 +3342,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2228,7 +3364,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "balance" : { "description" : "The balance for the payment method.", @@ -2247,7 +3384,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2268,6 +3405,53 @@ "balance" ] }, + "CheckoutBankTransferAction" : { + "properties" : { + "beneficiary" : { + "description" : "The name of the account holder.", + "type" : "string" + }, + "bic" : { + "description" : "The BIC of the IBAN.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The url to download payment details with.", + "type" : "string" + }, + "iban" : { + "description" : "The IBAN of the bank transfer.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The transfer reference.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The e-mail of the shopper, included if an e-mail was sent to the shopper.", + "type" : "string" + }, + "totalAmount" : { + "description" : "The amount of the bank transfer.", + "$ref" : "#/components/schemas/Amount" + }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "CheckoutCancelOrderRequest" : { "properties" : { "merchantAccount" : { @@ -2321,15 +3505,19 @@ }, "required" : [ "merchantAccount", - "amount" + "amount", + "reference" ] }, "CheckoutCreateOrderResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2337,6 +3525,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2356,7 +3547,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "expiresAt" : { "description" : "The date that the order will expire.", @@ -2383,7 +3575,7 @@ "$ref" : "#/components/schemas/Amount" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2409,23 +3601,30 @@ "CheckoutDonationAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOneTimePasscodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2450,11 +3649,18 @@ "description" : "The URL, to which you make POST request to trigger OTP resend.", "type" : "string" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutOrder" : { "properties" : { @@ -2502,7 +3708,7 @@ "CheckoutQrCodeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2513,11 +3719,18 @@ "description" : "The contents of the QR code as a UTF8 string.", "type" : "string" }, + "type" : { + "description" : "**qrCode**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutRedirectAction" : { "properties" : { @@ -2533,23 +3746,30 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment.", "type" : "string" }, "paymentMethodType" : { "description" : "Specifies the payment method.", "type" : "string" }, + "type" : { + "description" : "**redirect**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutSDKAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2563,16 +3783,58 @@ "description" : "The data to pass to the SDK.", "type" : "object" }, + "type" : { + "description" : "The type of the action.", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] + }, + "CheckoutThreeDS2Action" : { + "properties" : { + "authorisationToken" : { + "description" : "A token needed to authorise a payment.", + "type" : "string" + }, + "paymentData" : { + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "subtype" : { + "description" : "A subtype of the token.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "type" : { + "description" : "**threeDS2**", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2ChallengeAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2583,16 +3845,23 @@ "description" : "A token to pass to the 3DS2 Component to get the challenge.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Challenge**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutThreeDS2FingerPrintAction" : { "properties" : { "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2603,11 +3872,18 @@ "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", "type" : "string" }, + "type" : { + "description" : "**threeDS2Fingerprint**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CheckoutUtilityRequest" : { "properties" : { @@ -2626,6 +3902,7 @@ "CheckoutUtilityResponse" : { "properties" : { "originKeys" : { + "x-addedInVersion" : 1, "additionalProperties" : { "type" : "string" }, @@ -2681,7 +3958,7 @@ "type" : "string" }, "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "description" : "A value that must be submitted to the `/payments/details` endpoint to verify this payment. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "paymentMethodType" : { @@ -2708,11 +3985,18 @@ "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, + "type" : { + "description" : "**voucher**", + "type" : "string" + }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" } - } + }, + "required" : [ + "type" + ] }, "CommonField" : { "properties" : { @@ -2761,6 +4045,7 @@ "$ref" : "#/components/schemas/Avs" }, "cardHolderName" : { + "x-addedInVersion" : 37, "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", "enum" : [ "NONE", @@ -2771,9 +4056,10 @@ }, "installments" : { "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" + "$ref" : "#/components/schemas/Installments2" }, "shopperInput" : { + "x-addedInVersion" : 37, "description" : "Determines how to display the details fields.", "$ref" : "#/components/schemas/ShopperInput" } @@ -2782,7 +4068,7 @@ "CreatePaymentLinkRequest" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2801,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2825,9 +4111,16 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "installmentOptions" : { + "additionalProperties" : { + "$ref" : "#/components/schemas/InstallmentOption" + }, + "description" : "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.", + "type" : "object" + }, "lineItems" : { "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", "items" : { @@ -2876,7 +4169,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -2884,11 +4177,11 @@ "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2899,6 +4192,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } @@ -2916,10 +4210,11 @@ "$ref" : "#/components/schemas/PaymentCompletionDetails" }, "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "description" : "The `paymentData` value from the `/payments` response. In v67 and later, you will always get this value from the Component.", "type" : "string" }, "threeDSAuthenticationOnly" : { + "x-addedInVersion" : 40, "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", "type" : "boolean" } @@ -2941,7 +4236,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2963,16 +4260,10 @@ "description" : "The shopper's first name.", "type" : "string" }, - "infix" : { - "type" : "string" - }, "lastName" : { "description" : "The shopper's last name.", "type" : "string" }, - "ovoId" : { - "type" : "string" - }, "shopperEmail" : { "description" : "The shopper's email.", "type" : "string" @@ -2998,7 +4289,8 @@ "firstName", "lastName", "shopperEmail" - ] + ], + "title" : "Doku" }, "DotpayDetails" : { "properties" : { @@ -3013,9 +4305,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "Dotpay" }, "DragonpayDetails" : { "properties" : { @@ -3041,7 +4333,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Dragonpay" }, "EcontextVoucherDetails" : { "properties" : { @@ -3058,7 +4351,7 @@ "type" : "string" }, "telephoneNumber" : { - "description" : "The shopper's contact number.", + "description" : "The shopper's contact number. It must have an international number format, for example **+31 20 779 1846**. Formats like **+31 (0)20 779 1846** or **0031 20 779 1846** are not accepted.", "type" : "string" }, "type" : { @@ -3076,7 +4369,8 @@ "lastName", "shopperEmail", "telephoneNumber" - ] + ], + "title" : "Voucher" }, "EntercashDetails" : { "properties" : { @@ -3093,7 +4387,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "Entercash" }, "ExternalPlatform" : { "properties" : { @@ -3211,9 +4506,46 @@ "accountScore" ] }, + "GenericIssuerPaymentMethodDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "description" : "**genericissuer**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ], + "title" : "Stored Payment Method" + }, "GiropayDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3223,28 +4555,30 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Giropay" }, "GooglePayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, - "googlePayCardNetwork" : { - "description" : "", + "googlePayToken" : { + "description" : "The `token` that you obtained from the [Google Pay API](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) `PaymentData` response.", "type" : "string" }, - "googlePayToken" : { - "description" : "", + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3255,10 +4589,9 @@ } }, "required" : [ - "type", - "googlePayToken", - "googlePayCardNetwork" - ] + "googlePayToken" + ], + "title" : "Google Pay" }, "IdealDetails" : { "properties" : { @@ -3266,7 +4599,15 @@ "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3277,9 +4618,9 @@ } }, "required" : [ - "type", "issuer" - ] + ], + "title" : "iDEAL" }, "InputDetail" : { "properties" : { @@ -3334,9 +4675,46 @@ } } }, + "InstallmentOption" : { + "properties" : { + "maxValue" : { + "description" : "The maximum number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + }, + "plans" : { + "x-addedInVersion" : 64, + "description" : "Defines the type of installment plan. If not set, defaults to **regular**.\n\nPossible values:\n* **regular**\n* **revolving**", + "items" : { + "enum" : [ + "regular", + "revolving" + ], + "type" : "string" + }, + "type" : "array" + }, + "preselectedValue" : { + "x-addedInVersion" : 64, + "description" : "Preselected number of installments offered for this payment method.", + "format" : "int32", + "type" : "integer" + }, + "values" : { + "x-addedInVersion" : 64, + "description" : "An array of the number of installments that the shopper can choose from. For example, **[2,3,5]**. This cannot be specified simultaneously with `maxValue`.", + "items" : { + "format" : "int32", + "type" : "integer" + }, + "type" : "array" + } + } + }, "Installments" : { "properties" : { "plan" : { + "x-addedInVersion" : 64, "description" : "Defines the type of installment plan. If not set, defaults to **regular**.\n\nPossible values:\n* **regular**\n* **revolving**", "enum" : [ "regular", @@ -3354,6 +4732,18 @@ "value" ] }, + "Installments2" : { + "properties" : { + "maxNumberOfInstallments" : { + "description" : "Maximum number of installments", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "maxNumberOfInstallments" + ] + }, "Item" : { "properties" : { "id" : { @@ -3368,33 +4758,32 @@ }, "KlarnaDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { - "type" : "string" - }, - "storedPaymentMethodId" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "token" : { + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "type" : { - "default" : "openinvoice", + "default" : "klarna", "description" : "**klarna**", "enum" : [ "klarna", @@ -3410,7 +4799,8 @@ }, "required" : [ "type" - ] + ], + "title" : "Klarna" }, "LianLianPayDetails" : { "properties" : { @@ -3431,7 +4821,8 @@ "required" : [ "type", "telephoneNumber" - ] + ], + "title" : "Lianlian Pay" }, "LineItem" : { "properties" : { @@ -3453,6 +4844,14 @@ "description" : "ID of the line item.", "type" : "string" }, + "imageUrl" : { + "description" : "Link to the picture of the purchased item.", + "type" : "string" + }, + "productUrl" : { + "description" : "Link to the purchased item.", + "type" : "string" + }, "quantity" : { "description" : "Number of items.", "format" : "int64", @@ -3483,8 +4882,8 @@ "MasterpassDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -3500,9 +4899,9 @@ } }, "required" : [ - "type", "masterpassTransactionId" - ] + ], + "title" : "Masterpass" }, "MbwayDetails" : { "properties" : { @@ -3521,10 +4920,10 @@ } }, "required" : [ - "type", "telephoneNumber", "shopperEmail" - ] + ], + "title" : "MBWay" }, "MerchantDevice" : { "properties" : { @@ -3607,14 +5006,12 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "MobilePay" }, "MolPayDetails" : { "properties" : { "issuer" : { - "description" : "", + "description" : "The shopper's bank. Specify this with the issuer value that corresponds to this bank.", "type" : "string" }, "type" : { @@ -3629,7 +5026,8 @@ "required" : [ "type", "issuer" - ] + ], + "title" : "MOLPay" }, "Name" : { "properties" : { @@ -3637,17 +5035,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -3659,46 +5046,32 @@ }, "required" : [ "firstName", - "lastName", - "gender" - ] - }, - "NexoRouterDetails" : { - "properties" : { - "type" : { - "default" : "VIRTUAL_pos", - "description" : "**nexorouter**", - "type" : "string" - }, - "uniqueTerminalId" : { - "type" : "string" - } - }, - "required" : [ - "type" + "lastName" ] }, "OpenInvoiceDetails" : { "properties" : { - "bankAccount" : { - "type" : "string" - }, "billingAddress" : { + "description" : "The address where to send the invoice.", "type" : "string" }, "deliveryAddress" : { - "type" : "string" - }, - "installmentConfigurationKey" : { + "description" : "The address where the goods should be delivered.", "type" : "string" }, "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", "type" : "string" }, - "separateDeliveryAddress" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -3708,16 +5081,28 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Open Invoice" }, "PayPalDetails" : { "properties" : { "orderID" : { + "description" : "The unique ID associated with the order.", "type" : "string" }, "payerID" : { + "description" : "The unique ID associated with the payer.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, "subtype" : { @@ -3736,25 +5121,27 @@ }, "required" : [ "type" - ] + ], + "title" : "PayPal" }, "PayUUpiDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "shopperNotificationReference" : { "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, - "subscriptionDetails" : { - "additionalProperties" : { - "type" : "string" - }, - "description" : "The details to initiate subscription tracntion.", - "type" : "object" - }, "type" : { "default" : "payu_IN_upi", "description" : "**payu_IN_upi**", @@ -3767,56 +5154,73 @@ }, "required" : [ "type" - ] + ], + "title" : "PayU" }, "PaymentCompletionDetails" : { "properties" : { "MD" : { + "description" : "A payment session identifier returned by the card issuer.", "type" : "string" }, "PaReq" : { + "description" : "(3D) Payment Authentication Request data for the card issuer.", "type" : "string" }, "PaRes" : { + "description" : "(3D) Payment Authentication Response data by the card issuer.", "type" : "string" }, "billingToken" : { + "description" : "PayPal-generated token for recurring payments.", "type" : "string" }, "cupsecureplus.smscode" : { + "description" : "The SMS verification code collected from the shopper.", "type" : "string" }, "facilitatorAccessToken" : { + "description" : "PayPal-generated third party access token.", "type" : "string" }, "oneTimePasscode" : { + "description" : "A random number sent to the mobile phone number of the shopper to verify the payment.", "type" : "string" }, "orderID" : { + "description" : "PayPal-assigned ID for the order.", "type" : "string" }, "payerID" : { + "description" : "PayPal-assigned ID for the payer (shopper).", "type" : "string" }, "payload" : { + "description" : "Payload appended to the `returnURL` as a result of the redirect.", "type" : "string" }, "paymentID" : { + "description" : "PayPal-generated ID for the payment.", "type" : "string" }, "paymentStatus" : { + "description" : "Value passed from the WeChat MiniProgram `wx.requestPayment` **complete** callback. Possible values: any value starting with `requestPayment:`.", "type" : "string" }, "redirectResult" : { + "description" : "The result of the redirect as appended to the `returnURL`.", "type" : "string" }, - "returnUrlQueryString" : { + "threeDSResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: `transStatus`, `authorisationToken`.", "type" : "string" }, "threeds2.challengeResult" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `transStatus`.", "type" : "string" }, "threeds2.fingerprint" : { + "description" : "Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: `threeDSCompInd`.", "type" : "string" } } @@ -3828,14 +5232,191 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Payment Details" + }, + "PaymentDetailsResponse" : { + "properties" : { + "action" : { + "x-addedInVersion" : 49, + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + } + ] + }, + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" + }, + "amount" : { + "x-addedInVersion" : 52, + "description" : "Authorised amount in the transaction.", + "$ref" : "#/components/schemas/Amount" + }, + "authentication" : { + "x-addedInVersion" : 40, + "deprecated" : true, + "x-deprecatedInVersion" : 64, + "x-deprecatedMessage" : "Use `action` instead.", + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "deprecated" : true, + "x-deprecatedInVersion" : 64, + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "x-addedInVersion" : 49, + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "deprecated" : true, + "x-deprecatedInVersion" : 64, + "x-deprecatedMessage" : "Use `action` instead.", + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "deprecated" : true, + "x-deprecatedInVersion" : 64, + "x-deprecatedMessage" : "Use `action.paymentData` instead.", + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "deprecated" : true, + "x-deprecatedInVersion" : 64, + "x-deprecatedMessage" : "Use `action` instead.", + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "x-addedInVersion" : 37, + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" + } + } }, "PaymentLinkResource" : { "properties" : { "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3854,7 +5435,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3865,7 +5446,7 @@ "type" : "string" }, "deliverAt" : { - "description" : "The date and time the purchased goods should be delivered.", + "description" : "The date and time the purchased goods should be delivered. In ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`.", "format" : "date-time", "type" : "string" }, @@ -3878,10 +5459,11 @@ "type" : "string" }, "expiresAt" : { - "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 70 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, "id" : { + "x-addedInVersion" : 51, "description" : "A unique identifier of the payment link.", "readOnly" : true, "type" : "string" @@ -3927,7 +5509,7 @@ "type" : "string" }, "shopperLocale" : { - "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/checkout/pay-by-link#language-and-localization).", + "description" : "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/online-payments/pay-by-link#language-and-localization).", "type" : "string" }, "shopperName" : { @@ -3939,18 +5521,18 @@ "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "description" : "An array of objects specifying how the payment should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "status" : { - "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "description" : "Status of the payment link. Possible values:\n* **active** \n* **expired**\n* **completed** (v66 and above) \n* **paid** (v65 and below)", "enum" : [ "active", - "expired", - "paid" + "completed", + "expired" ], "type" : "string" }, @@ -3959,6 +5541,7 @@ "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 50, "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, @@ -3980,6 +5563,7 @@ "PaymentMethod" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -4001,9 +5585,9 @@ "type" : "array" }, "fundingSource" : { + "x-addedInVersion" : 53, "description" : "The funding source of the payment method.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -4024,10 +5608,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "supportsRecurring" : { "description" : "Indicates whether this payment method supports tokenization or not.", "type" : "boolean" @@ -4076,10 +5656,10 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4089,6 +5669,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4113,6 +5696,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4120,10 +5706,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4134,7 +5722,8 @@ "$ref" : "#/components/schemas/Amount" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4154,6 +5743,7 @@ "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -4163,23 +5753,27 @@ "type" : "string" }, "order" : { + "x-addedInVersion" : 64, "description" : "Contains the order information which is required for partial payments.", "$ref" : "#/components/schemas/CheckoutOrder" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "splitCardFundingSources" : { - "default" : "false", + "x-addedInVersion" : 53, + "default" : false, "description" : "Boolean value indicating whether the card payment method should be split into separate debit and credit options.", "type" : "boolean" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, @@ -4187,8 +5781,7 @@ } }, "required" : [ - "merchantAccount", - "reference" + "merchantAccount" ] }, "PaymentMethodsResponse" : { @@ -4215,6 +5808,7 @@ "type" : "array" }, "storedPaymentMethods" : { + "x-addedInVersion" : 49, "description" : "List of all stored payment methods.", "items" : { "$ref" : "#/components/schemas/StoredPaymentMethod" @@ -4226,14 +5820,15 @@ "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4243,6 +5838,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4267,6 +5865,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4274,25 +5875,29 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4307,10 +5912,12 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4319,6 +5926,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4332,32 +5940,39 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4371,17 +5986,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4390,14 +6008,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -4417,6 +6038,7 @@ "type" : "string" }, "origin" : { + "x-addedInVersion" : 40, "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", "type" : "string" }, @@ -4424,58 +6046,115 @@ "description" : "The type and required details of a payment method to use.", "oneOf" : [ { - "$ref" : "#/components/schemas/ApplePayDetails" + "$ref" : "#/components/schemas/AchDetails" }, { - "$ref" : "#/components/schemas/SamsungPayDetails" - }, - { - "$ref" : "#/components/schemas/AndroidPayDetails" - }, - { - "$ref" : "#/components/schemas/VisaCheckoutDetails" - }, - { - "$ref" : "#/components/schemas/GooglePayDetails" + "$ref" : "#/components/schemas/AfterpayDetails" }, { "$ref" : "#/components/schemas/AmazonPayDetails" }, { - "$ref" : "#/components/schemas/MasterpassDetails" + "$ref" : "#/components/schemas/AndroidPayDetails" }, { - "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/BacsDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" }, { "$ref" : "#/components/schemas/CardDetails" }, { - "$ref" : "#/components/schemas/PaymentDetails" + "$ref" : "#/components/schemas/CellulantDetails" }, { - "$ref" : "#/components/schemas/AchDetails" + "$ref" : "#/components/schemas/DokuDetails" }, { - "$ref" : "#/components/schemas/KlarnaDetails" + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/GenericIssuerPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" }, { "$ref" : "#/components/schemas/IdealDetails" }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, { "$ref" : "#/components/schemas/PayPalDetails" }, { - "$ref" : "#/components/schemas/SepaDirectDebitDetails" + "$ref" : "#/components/schemas/PayUUpiDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" }, { "$ref" : "#/components/schemas/QiwiWalletDetails" }, + { + "$ref" : "#/components/schemas/RatepayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/StoredPaymentMethodDetails" + }, + { + "$ref" : "#/components/schemas/UpiDetails" + }, { "$ref" : "#/components/schemas/VippsDetails" }, { - "$ref" : "#/components/schemas/MobilePayDetails" + "$ref" : "#/components/schemas/VisaCheckoutDetails" }, { "$ref" : "#/components/schemas/WeChatPayDetails" @@ -4484,49 +6163,7 @@ "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" }, { - "$ref" : "#/components/schemas/LianLianPayDetails" - }, - { - "$ref" : "#/components/schemas/MolPayDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskOnlineDetails" - }, - { - "$ref" : "#/components/schemas/BillDeskWalletDetails" - }, - { - "$ref" : "#/components/schemas/PayUUpiDetails" - }, - { - "$ref" : "#/components/schemas/DotpayDetails" - }, - { - "$ref" : "#/components/schemas/EntercashDetails" - }, - { - "$ref" : "#/components/schemas/OpenInvoiceDetails" - }, - { - "$ref" : "#/components/schemas/DokuDetails" - }, - { - "$ref" : "#/components/schemas/EcontextVoucherDetails" - }, - { - "$ref" : "#/components/schemas/DragonpayDetails" - }, - { - "$ref" : "#/components/schemas/GiropayDetails" - }, - { - "$ref" : "#/components/schemas/NexoRouterDetails" - }, - { - "$ref" : "#/components/schemas/BlikDetails" - }, - { - "$ref" : "#/components/schemas/MbwayDetails" + "$ref" : "#/components/schemas/ZipDetails" } ] }, @@ -4539,6 +6176,7 @@ "type" : "string" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -4548,10 +6186,12 @@ "type" : "string" }, "redirectFromIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", "type" : "string" }, "redirectToIssuerMethod" : { + "x-addedInVersion" : 32, "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", "type" : "string" }, @@ -4572,11 +6212,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -4590,15 +6230,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -4606,40 +6248,48 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -4655,11 +6305,21 @@ "PaymentResponse" : { "properties" : { "action" : { + "x-addedInVersion" : 49, "description" : "Action to be taken for completing the payment.", "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutBankTransferAction" + }, { "$ref" : "#/components/schemas/CheckoutDonationAction" }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + }, { "$ref" : "#/components/schemas/CheckoutQrCodeAction" }, @@ -4669,27 +6329,27 @@ { "$ref" : "#/components/schemas/CheckoutSDKAction" }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2Action" + }, { "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" }, { "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" }, - { - "$ref" : "#/components/schemas/CheckoutAwaitAction" - }, { "$ref" : "#/components/schemas/CheckoutVoucherAction" - }, - { - "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" } ] }, "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -4697,6 +6357,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -4716,19 +6379,22 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "amount" : { + "x-addedInVersion" : 52, "description" : "Authorised amount in the transaction.", "$ref" : "#/components/schemas/Amount" }, "authentication" : { - "additionalProperties" : { - "type" : "string" - }, + "x-addedInVersion" : 40, "deprecated" : true, "x-deprecatedInVersion" : 64, "x-deprecatedMessage" : "Use `action` instead.", + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -4746,6 +6412,7 @@ "$ref" : "#/components/schemas/FraudResult" }, "merchantReference" : { + "x-addedInVersion" : 49, "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, @@ -4754,12 +6421,12 @@ "$ref" : "#/components/schemas/CheckoutOrderResponse" }, "outputDetails" : { - "additionalProperties" : { - "type" : "string" - }, "deprecated" : true, "x-deprecatedInVersion" : 64, "x-deprecatedMessage" : "Use `action` instead.", + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -4786,11 +6453,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -4805,16 +6473,21 @@ "Refused" ], "type" : "string" + }, + "threeDS2Result" : { + "x-addedInVersion" : 41, + "description" : "Result of the 3D Secure 2 authentication.", + "$ref" : "#/components/schemas/ThreeDS2Result" } } }, "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -4824,6 +6497,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -4848,6 +6524,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -4855,10 +6534,12 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -4869,21 +6550,25 @@ "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "x-addedInVersion" : 33, + "description" : "List of payment methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, "type" : "array" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -4898,6 +6583,7 @@ "type" : "string" }, "company" : { + "x-addedInVersion" : 32, "description" : "Information regarding the company.", "$ref" : "#/components/schemas/Company" }, @@ -4906,6 +6592,7 @@ "$ref" : "#/components/schemas/Configuration" }, "conversionId" : { + "x-addedInVersion" : 49, "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", "type" : "string" }, @@ -4914,6 +6601,7 @@ "type" : "string" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -4927,28 +6615,34 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "enableOneClick" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", "type" : "boolean" }, "enablePayOut" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", "type" : "boolean" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "enableRecurring" : { + "x-addedInVersion" : 32, "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -4962,17 +6656,20 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, 3x 4x Oney, Zip and RatePay.", + "x-addedInVersion" : 32, + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, AfterPay, Klarna, RatePay, and Zip.", "items" : { "$ref" : "#/components/schemas/LineItem" }, "type" : "array" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -4981,10 +6678,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -5020,6 +6719,7 @@ "$ref" : "#/components/schemas/RiskData" }, "sdkVersion" : { + "x-addedInVersion" : 32, "description" : "The version of the SDK you are using (for Web SDK integrations only).", "type" : "string" }, @@ -5028,11 +6728,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -5046,15 +6746,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -5062,27 +6764,39 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "x-addedInVersion" : 23, + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { + "x-addedInVersion" : 49, "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "token" : { @@ -5090,6 +6804,7 @@ "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -5132,9 +6847,12 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -5142,6 +6860,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -5161,7 +6882,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -5188,11 +6910,12 @@ "type" : "string" }, "refusalReasonCode" : { + "x-addedInVersion" : 37, "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -5210,7 +6933,7 @@ }, "serviceError" : { "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" + "$ref" : "#/components/schemas/ServiceError2" }, "shopperLocale" : { "description" : "The shopperLocale value provided in the payment request.", @@ -5236,14 +6959,51 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "QIWI" + }, + "RatepayDetails" : { + "properties" : { + "billingAddress" : { + "description" : "The address where to send the invoice.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the goods should be delivered.", + "type" : "string" + }, + "personalDetails" : { + "description" : "Shopper name, date of birth, phone number, and email address.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "ratepay", + "description" : "**ratepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "Ratepay" }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -5256,15 +7016,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -5277,6 +7040,7 @@ "RecurringDetail" : { "properties" : { "brands" : { + "x-addedInVersion" : 49, "description" : "List of possible brands. For example: visa, mc.", "items" : { "type" : "string" @@ -5298,9 +7062,9 @@ "type" : "array" }, "fundingSource" : { + "x-addedInVersion" : 53, "description" : "The funding source of the payment method.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -5321,10 +7085,6 @@ "description" : "The displayable name of this payment method.", "type" : "string" }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, "recurringDetailReference" : { "description" : "The reference that uniquely identifies the recurring detail.", "type" : "string" @@ -5366,6 +7126,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -5693,7 +7461,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -5701,7 +7469,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -5777,17 +7545,25 @@ "SamsungPayDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "samsungPayToken" : { - "description" : "", + "description" : "The payload you received from the Samsung Pay SDK response.", "type" : "string" }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5798,9 +7574,9 @@ } }, "required" : [ - "type", "samsungPayToken" - ] + ], + "title" : "Samsung Pay" }, "SepaDirectDebitDetails" : { "properties" : { @@ -5812,7 +7588,15 @@ "description" : "The name of the bank account holder.", "type" : "string" }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -5823,12 +7607,40 @@ } }, "required" : [ - "type", "iban", "ownerName" - ] + ], + "title" : "SEPA Direct Debit" }, "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "ServiceError2" : { "properties" : { "errorCode" : { "type" : "string" @@ -5891,7 +7703,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -5903,11 +7715,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -5934,7 +7746,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -6008,7 +7820,15 @@ }, "StoredPaymentMethodDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6017,9 +7837,7 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "Stored Payment Method" }, "SubInputDetail" : { "properties" : { @@ -6058,19 +7876,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -6092,11 +7912,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -6121,7 +7943,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -6139,11 +7961,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -6151,6 +7973,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -6162,6 +7985,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -6170,6 +7994,53 @@ "deviceChannel" ] }, + "ThreeDS2Result" : { + "properties" : { + "authenticationValue" : { + "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "cavvAlgorithm" : { + "x-addedInVersion" : 50, + "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", + "type" : "string" + }, + "dsTransID" : { + "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "eci" : { + "description" : "The `eci` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "messageVersion" : { + "x-addedInVersion" : 49, + "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "threeDSServerTransID" : { + "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "timestamp" : { + "description" : "The `timestamp` value of the 3D Secure 2 authentication.", + "type" : "string" + }, + "transStatus" : { + "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "transStatusReason" : { + "description" : "The `transStatusReason` value as defined in the 3D Secure 2 specification.", + "type" : "string" + }, + "whiteListStatus" : { + "x-addedInVersion" : 49, + "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -6206,6 +8077,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -6214,6 +8086,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -6238,9 +8111,50 @@ "status" ] }, + "UpiDetails" : { + "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "shopperNotificationReference" : { + "description" : "The `shopperNotificationReference` returned in the response when you requested to notify the shopper. Used for recurring payment only.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "upi", + "description" : "**upi**", + "type" : "string" + }, + "virtualPaymentAddress" : { + "description" : "The virtual payment address for UPI.", + "type" : "string" + } + }, + "required" : [ + "type" + ], + "title" : "UPI" + }, "VippsDetails" : { "properties" : { + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, "storedPaymentMethodId" : { + "x-addedInVersion" : 49, "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", "type" : "string" }, @@ -6255,15 +8169,15 @@ } }, "required" : [ - "type", "telephoneNumber" - ] + ], + "title" : "Vipps" }, "VisaCheckoutDetails" : { "properties" : { "fundingSource" : { + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "credit", "debit" ], "type" : "string" @@ -6274,32 +8188,24 @@ "type" : "string" }, "visaCheckoutCallId" : { - "description" : "", + "description" : "The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.", "type" : "string" } }, "required" : [ - "type", "visaCheckoutCallId" - ] + ], + "title" : "Visa Checkout" }, "WeChatPayDetails" : { "properties" : { - "appId" : { - "type" : "string" - }, - "openid" : { - "type" : "string" - }, "type" : { "default" : "wechatpay", "description" : "**wechatpay**", "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay" }, "WeChatPayMiniProgramDetails" : { "properties" : { @@ -6315,9 +8221,33 @@ "type" : "string" } }, - "required" : [ - "type" - ] + "title" : "WeChat Pay - Mini Program" + }, + "ZipDetails" : { + "properties" : { + "clickAndCollect" : { + "description" : "Set this to **true** if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.", + "type" : "string" + }, + "recurringDetailReference" : { + "deprecated" : true, + "x-deprecatedInVersion" : 49, + "x-deprecatedMessage" : "Use `storedPaymentMethodId` instead.", + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "storedPaymentMethodId" : { + "x-addedInVersion" : 49, + "description" : "This is the `recurringDetailReference` returned in the response when you created the token.", + "type" : "string" + }, + "type" : { + "default" : "zip", + "description" : "**zip**", + "type" : "string" + } + }, + "title" : "Zip" } }, "securitySchemes" : { @@ -6330,6 +8260,761 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: \", expected: }", + "errorType" : "validation" + } + }, + "generic-401" : { + "summary" : "Response code 401. Unauthorized.", + "value" : { + "status" : 401, + "errorCode" : "000", + "message" : "HTTP Status Response - Unauthorized", + "errorType" : "security" + } + }, + "generic-403" : { + "summary" : "Response code 403. Forbidden.", + "value" : { + "status" : 403, + "errorCode" : "901", + "message" : "Invalid Merchant Account", + "errorType" : "security" + } + }, + "generic-422" : { + "summary" : "Response code 422. Unprocessable entity.", + "value" : { + "status" : 422, + "errorCode" : "14_030", + "message" : "Return URL is missing.", + "errorType" : "validation" + } + }, + "generic-500" : { + "summary" : "Response code 500. Internal server error.", + "value" : { + "status" : 500, + "errorCode" : "905", + "message" : "Payment details are not supported", + "errorType" : "configuration", + "pspReference" : "8516091485743033" + } + }, + "get-paymentLinks-linkId-basic" : { + "summary" : "Get the details for a payment link", + "value" : { + + } + }, + "patch-paymentLinks-linkId-basic" : { + "summary" : "Update the status of a payment link", + "value" : { + "status" : "expired" + } + }, + "post-orders-basic" : { + "summary" : "Create an order", + "value" : { + "reference" : "YOUR_ORDER_REFERENCE", + "amount" : { + "value" : 2500, + "currency" : "EUR" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-orders-cancel-basic" : { + "summary" : "Cancel an order", + "value" : { + "order" : { + "pspReference" : "8815517812932012", + "orderData" : "823fh892f8f18f4...148f13f9f3f" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-originKeys-basic" : { + "summary" : "Get origin keys", + "value" : { + "originDomains" : [ + "https://www.your-domain1.com", + "https://www.your-domain2.com", + "https://www.your-domain3.com" + ] + } + }, + "post-paymentLinks-basic" : { + "summary" : "Create a payment link", + "value" : { + "reference" : "YOUR_ORDER_NUMBER", + "amount" : { + "value" : 1250, + "currency" : "BRL" + }, + "countryCode" : "BR", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", + "shopperEmail" : "test@email.com", + "shopperLocale" : "pt-BR", + "billingAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + }, + "deliveryAddress" : { + "street" : "Roque Petroni Jr", + "postalCode" : "59000060", + "city" : "São Paulo", + "houseNumberOrName" : "999", + "country" : "BR", + "stateOrProvince" : "SP" + } + } + }, + "post-paymentMethods-balance-basic" : { + "summary" : "Retrieve gift card balance", + "value" : { + "paymentMethod" : { + "type" : "givex", + "number" : "4126491073027401", + "cvc" : "737" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-basic" : { + "summary" : "Get available payment methods", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentMethods-filtered" : { + "summary" : "Get payment methods based on the country and amount", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "shopperLocale" : "nl-NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + } + } + }, + "post-paymentMethods-include-oneclick" : { + "summary" : "Get payment methods including stored card details", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "countryCode" : "NL", + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-paymentSession-android" : { + "summary" : "Set up a payment session (Android)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-enableOneClick" : { + "summary" : "Set up a payment session with the option to store card details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "enableOneClick" : true, + "enableRecurring" : true, + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.7.0" + } + }, + "post-paymentSession-ios" : { + "summary" : "Set up a payment session (iOS)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "iOS", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 6200 + }, + "additionalData" : { + "split.api" : "1", + "split.nrOfItems" : "2", + "split.totalAmount" : "6200", + "split.currencyCode" : "EUR", + "split.item1.amount" : "6000", + "split.item1.type" : "MarketPlace", + "split.item1.account" : "151272963", + "split.item1.reference" : "6124145", + "split.item1.description" : "Porcelain Doll: Eliza (20cm)", + "split.item2.amount" : "200", + "split.item2.type" : "Commission", + "split.item2.reference" : "6124146" + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Android", + "token" : "TOKEN_YOU_GET_FROM_CHECKOUT_SDK", + "returnUrl" : "app://", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "sessionValidity" : "2017-04-06T13:09:13Z", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-paymentSession-web" : { + "summary" : "Set up a payment session (Web)", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 17408 + }, + "reference" : "Your order number", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "channel" : "Web", + "html" : true, + "origin" : "https://www.yourwebsite.com", + "returnUrl" : "https://www.yourshop.com/checkout/result", + "countryCode" : "NL", + "shopperLocale" : "nl_NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "sdkVersion" : "1.9.5" + } + }, + "post-payments-applepay" : { + "summary" : "Make an Apple Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "applepay", + "applePayToken" : "VNRWtuNlNEWkRCSm1xWndjMDFFbktkQU..." + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-2-web" : { + "summary" : "Make a card payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "YOUR_ORDER_NUMBER", + "paymentMethod" : { + "type" : "scheme", + "number" : "4917610000000000", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "additionalData" : { + "allow3DS2" : true + }, + "accountInfo" : { + "accountCreationDate" : "2019-01-17T13:42:40+01:00" + }, + "billingAddress" : { + "country" : "US", + "city" : "New York", + "street" : "Redwood Block", + "houseNumberOrName" : "37C", + "stateOrProvince" : "NY", + "postalCode" : "10039" + }, + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "192.0.2.1", + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "language" : "nl-NL", + "colorDepth" : 24, + "screenHeight" : 723, + "screenWidth" : 1536, + "timeZoneOffset" : 0, + "javaEnabled" : true + }, + "channel" : "web", + "origin" : "https://your-company.com", + "returnUrl" : "https://your-company.com/checkout/", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-direct" : { + "summary" : "Make card payment with 3D Secure redirect authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4212345678901237", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-3d-secure-securedfields" : { + "summary" : "Make a payment with 3D Secure 2 native authentication", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4212345678901237", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737", + "holderName" : "John Smith" + }, + "browserInfo" : { + "userAgent" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0", + "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-direct" : { + "summary" : "Make a card payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-card-securedfields" : { + "summary" : "Make a card payment (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-details-3d-secure" : { + "summary" : "Submit details for the 3D Secure payment ", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "MD" : "Ab02b4c0!BQABAgCW5sxB4e/==...", + "PaRes" : "eNrNV0mTo7gS..." + } + } + }, + "post-payments-details-3d-secure-2-challenge" : { + "summary" : "Submit 3D Secure 2 callenge flow result", + "value" : { + "details" : { + "threeds2.challengeResult" : "eyJ0cmFuc1N0YXR1cyI6IlkifQ==" + }, + "paymentData" : "YOUR_PAYMENT_DATA" + } + }, + "post-payments-details-3d-secure-2-fingerprint" : { + "summary" : "Submit 3D Secure 2 device fingerprinting result", + "value" : { + "details" : { + "threeds2.fingerprint" : "eyJ0aHJlZURTQ29tcEluZCI6ICJZIn0=" + }, + "paymentData" : "YOUR_PAYMENT_DATA..." + } + }, + "post-payments-details-app-switch" : { + "summary" : "Submit details for the payment with involved app switch", + "value" : { + "paymentData" : "Hee57361f99....", + "details" : { + "returnUrlQueryString" : "ref=eNrNV0mTo7gS&id=An78i..." + } + } + }, + "post-payments-enableOneClick-SF" : { + "summary" : "Tokenize card details for one-off payments (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "encryptedCardNumber" : "test_4111111111111111", + "encryptedExpiryMonth" : "test_03", + "encryptedExpiryYear" : "test_2030", + "encryptedSecurityCode" : "test_737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-enableOneClick-raw" : { + "summary" : "Tokenize card details for one-off payments", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "CardOnFile", + "storePaymentMethod" : true, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-giropay" : { + "summary" : "Make a giropay payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "giropay" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-googlepay" : { + "summary" : "Make a Google Pay payment", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "paywithgoogle", + "googlePayToken" : "==Payload as retrieved from Google Pay response==" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YourMerchantAccount" + } + }, + "post-payments-ideal" : { + "summary" : "Make an iDEAL payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "ideal", + "issuer" : "1121" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-klarna" : { + "summary" : "Make a Klarna payment", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "YOUR_ORDER_REFERENCE", + "paymentMethod" : { + "type" : "klarna" + }, + "amount" : { + "currency" : "SEK", + "value" : "1000" + }, + "shopperLocale" : "en_US", + "countryCode" : "SE", + "telephoneNumber" : "+46 840 839 298", + "shopperEmail" : "youremail@email.com", + "shopperName" : { + "firstName" : "Testperson-se", + "gender" : "UNKNOWN", + "lastName" : "Approved" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "billingAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "deliveryAddress" : { + "city" : "Ankeborg", + "country" : "SE", + "houseNumberOrName" : "1", + "postalCode" : "12345", + "street" : "Stargatan" + }, + "returnUrl" : "https://www.your-company.com/...", + "lineItems" : [ + { + "quantity" : "1", + "amountExcludingTax" : "331", + "taxPercentage" : "2100", + "description" : "Shoes", + "id" : "Item #1", + "taxAmount" : "69", + "amountIncludingTax" : "400", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + }, + { + "quantity" : "2", + "amountExcludingTax" : "248", + "taxPercentage" : "2100", + "description" : "Socks", + "id" : "Item #2", + "taxAmount" : "52", + "amountIncludingTax" : "300", + "productUrl" : "URL_TO_PURCHASED_ITEM", + "imageUrl" : "URL_TO_PICTURE_OF_PURCHASED_ITEM" + } + ] + } + }, + "post-payments-oneclick-direct" : { + "summary" : "Make a one-off payment with a token and CVV", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "cardDetails.cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-oneclick-securedfields" : { + "summary" : "Make a one-off payment with a token and CVV (using encrypted card details)", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "storedPaymentMethodId" : "8416038790273850", + "encryptedSecurityCode" : "adyenjs_0_1_18$MT6ppy0FAMVMLH..." + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_6738oneoff", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "CardOnFile" + } + }, + "post-payments-recurring" : { + "summary" : "Make a card payment with a token", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "storedPaymentMethodId" : "8316038796685850" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "shopperInteraction" : "ContAuth", + "recurringProcessingModel" : "Subscription" + } + }, + "post-payments-result-basic" : { + "summary" : "Verify payment results", + "value" : { + "payload" : "VALUE_YOU_GET_FROM_CHECKOUT_SDK" + } + }, + "post-payments-sofort" : { + "summary" : "Make a Sofort payment", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "directEbanking" + }, + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + }, + "post-payments-split" : { + "summary" : "Split a payment between a sub-merchant and a platform account", + "value" : { + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "cvc" : "737", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "amount" : { + "value" : 6200, + "currency" : "EUR" + }, + "reference" : "YOUR_ORDER_NUMBER", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "returnUrl" : "https://your-company.com/...", + "splits" : [ + { + "amount" : { + "value" : 6000 + }, + "type" : "MarketPlace", + "account" : "151272963", + "reference" : "6124145", + "description" : "Porcelain Doll: Eliza (20cm)" + }, + { + "amount" : { + "value" : 200 + }, + "type" : "Commission", + "reference" : "6124146" + } + ] + } + }, + "post-payments-subscription-first-transaction" : { + "summary" : "Tokenize card details for a subscription", + "value" : { + "amount" : { + "currency" : "USD", + "value" : 1000 + }, + "reference" : "Your order number", + "paymentMethod" : { + "type" : "scheme", + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith", + "cvc" : "737" + }, + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "storePaymentMethod" : true, + "shopperInteraction" : "Ecommerce", + "recurringProcessingModel" : "Subscription", + "returnUrl" : "https://your-company.com/...", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT" + } + } } } } \ No newline at end of file diff --git a/json/FundService-v3.json b/json/FundService-v3.json index 9a08cea..f5018cc 100644 --- a/json/FundService-v3.json +++ b/json/FundService-v3.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "3", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Fund API", "description" : "The Fund API provides endpoints for managing the funds in the accounts on your platform. These management operations include actions such as the transfer of funds from one account to another, the payout of funds to an account holder, and the retrieval of balances in an account.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Fund API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Fund API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Fund/v3/accountHolderBalance\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -137,20 +208,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PayoutAccountHolderResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -182,20 +298,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundFundsTransferResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -227,20 +388,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundNotPaidOutTransfersResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -272,20 +478,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SetupBeneficiaryResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -317,20 +568,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransferFundsResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -402,7 +698,7 @@ "type" : "array" }, "transactionStatuses" : { - "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", + "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `CreditSuspended` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", "items" : { "enum" : [ "Chargeback", @@ -418,15 +714,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -495,7 +800,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -650,6 +955,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" } @@ -667,6 +973,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, @@ -711,6 +1018,7 @@ "type" : "string" }, "message" : { + "description" : "The message of the response.", "type" : "string" }, "originalReference" : { @@ -763,6 +1071,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "SetupBeneficiaryRequest" : { "properties" : { "destinationAccountCode" : { @@ -843,10 +1171,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -859,7 +1189,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -874,15 +1204,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -927,6 +1266,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" }, @@ -949,6 +1289,7 @@ "TransferFundsResponse" : { "properties" : { "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, @@ -977,6 +1318,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/FundService-v5.json b/json/FundService-v5.json index c362653..da70c0f 100644 --- a/json/FundService-v5.json +++ b/json/FundService-v5.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "5", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Fund API", "description" : "The Fund API provides endpoints for managing the funds in the accounts on your platform. These management operations include actions such as the transfer of funds from one account to another, the payout of funds to an account holder, and the retrieval of balances in an account.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Fund API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Fund API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Fund/v5/accountHolderBalance\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -137,20 +208,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PayoutAccountHolderResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -182,20 +298,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundFundsTransferResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -227,20 +388,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundNotPaidOutTransfersResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -272,20 +478,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SetupBeneficiaryResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -317,20 +568,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransferFundsResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -371,6 +667,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -405,7 +702,7 @@ "type" : "array" }, "transactionStatuses" : { - "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", + "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `CreditSuspended` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", "items" : { "enum" : [ "Chargeback", @@ -421,15 +718,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -457,6 +763,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -501,7 +808,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -526,6 +833,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -629,6 +937,7 @@ "type" : "array" }, "onHoldBalance" : { + "x-addedInVersion" : 5, "description" : "The list of on hold balances held by the account.", "items" : { "$ref" : "#/components/schemas/Amount" @@ -693,6 +1002,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -713,6 +1023,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -724,7 +1035,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -756,8 +1079,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -776,7 +1104,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -809,17 +1138,21 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" }, "payoutMethodCode" : { + "x-addedInVersion" : 5, "description" : "The unique ID of the payout method held by the Account Holder to which the payout is to be made.\nIf left blank, a payout instrument is automatically selected.", "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -839,6 +1172,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -846,13 +1180,16 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -891,6 +1228,7 @@ "RefundFundsTransferResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -902,6 +1240,7 @@ "type" : "string" }, "message" : { + "description" : "The message of the response.", "type" : "string" }, "originalReference" : { @@ -937,6 +1276,7 @@ "RefundNotPaidOutTransfersResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -953,6 +1293,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "SetupBeneficiaryRequest" : { "properties" : { "destinationAccountCode" : { @@ -976,6 +1336,7 @@ "SetupBeneficiaryResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1036,10 +1397,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -1052,7 +1415,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -1067,15 +1430,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -1120,6 +1492,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" }, @@ -1142,6 +1515,7 @@ "TransferFundsResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1149,6 +1523,7 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, @@ -1173,6 +1548,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/FundService-v6.json b/json/FundService-v6.json index 545ce9f..ecf1c8b 100644 --- a/json/FundService-v6.json +++ b/json/FundService-v6.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "6", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Fund API", "description" : "The Fund API provides endpoints for managing the funds in the accounts on your platform. These management operations include actions such as the transfer of funds from one account to another, the payout of funds to an account holder, and the retrieval of balances in an account.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms).\n## Authentication\nTo connect to the Fund API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Fund API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Fund/v6/accountHolderBalance\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -137,20 +208,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PayoutAccountHolderResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -182,20 +298,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundFundsTransferResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -227,20 +388,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundNotPaidOutTransfersResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -272,20 +478,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SetupBeneficiaryResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -317,20 +568,65 @@ }, "description" : "OK - the request has succeeded." }, + "202" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransferFundsResponse" + } + } + }, + "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed." + }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -371,6 +667,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -405,7 +702,7 @@ "type" : "array" }, "transactionStatuses" : { - "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", + "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `CreditSuspended` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.", "items" : { "enum" : [ "Chargeback", @@ -421,15 +718,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -457,6 +763,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -501,7 +808,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -526,6 +833,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -629,6 +937,7 @@ "type" : "array" }, "onHoldBalance" : { + "x-addedInVersion" : 5, "description" : "The list of on hold balances held by the account.", "items" : { "$ref" : "#/components/schemas/Amount" @@ -693,6 +1002,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -713,6 +1023,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -724,7 +1035,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -756,8 +1079,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -776,7 +1104,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -809,17 +1138,21 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" }, "payoutMethodCode" : { + "x-addedInVersion" : 5, "description" : "The unique ID of the payout method held by the Account Holder to which the payout is to be made.\nIf left blank, a payout instrument is automatically selected.", "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -839,6 +1172,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -846,13 +1180,16 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "default" : "STANDARD", "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -891,6 +1228,7 @@ "RefundFundsTransferResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -902,6 +1240,7 @@ "type" : "string" }, "message" : { + "description" : "The message of the response.", "type" : "string" }, "originalReference" : { @@ -937,6 +1276,7 @@ "RefundNotPaidOutTransfersResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -953,6 +1293,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "SetupBeneficiaryRequest" : { "properties" : { "destinationAccountCode" : { @@ -976,6 +1336,7 @@ "SetupBeneficiaryResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1036,10 +1397,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -1052,7 +1415,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -1067,15 +1430,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -1120,6 +1492,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.", "type" : "string" }, @@ -1142,6 +1515,7 @@ "TransferFundsResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1149,6 +1523,7 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.", "type" : "string" }, @@ -1173,6 +1548,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/HopService-v1.json b/json/HopService-v1.json index c312220..628bab1 100644 --- a/json/HopService-v1.json +++ b/json/HopService-v1.json @@ -7,23 +7,25 @@ ], "info" : { "version" : "1", - "title" : "Adyen for Platforms: Hosted Onboarding Page API", - "description" : "The Hosted Onboarding Page (HOP) API provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/onboarding-and-verification/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v1/getOnboardingUrl\n```", + "x-publicVersion" : true, + "title" : "Adyen for Platforms: Hosted Onboarding", + "description" : "Hosted Onboarding provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v1/getOnboardingUrl\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ - "Hosted Onboarding Page" + "Hosted Onboarding Page", + "PCI Compliance Questionnaire Page" ], "paths" : { "/getOnboardingUrl" : { "post" : { - "summary" : "Get a new onboarding url for an account holder.", - "description" : "This endpoint is used to get a new onboarding url for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. A returnUrl can also be specified as part of this request.", + "summary" : "Get a link to a Hosted Onboarding Page.", + "description" : "Returns a link to a Hosted Onboarding Page (HOP) to be used by a specific account holder. Each account holder represents a single sub-merchant.\n\nFor more information on how to use HOP, refer to [Hosted Onboarding Page](https://docs.adyen.com/platforms/hosted-onboarding-page). ", "operationId" : "post-getOnboardingUrl", "x-groupName" : "Hosted Onboarding Page", "x-sortIndex" : 1, @@ -48,19 +50,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getPciQuestionnaireUrl" : { + "post" : { + "summary" : "Get a new PCI compliance questionnaire URL for an account holder.", + "description" : "This endpoint is used to get a new PCI compliance questionnaire URL for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. ", + "operationId" : "post-getPciQuestionnaireUrl", + "x-groupName" : "PCI Compliance Questionnaire Page", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,6 +234,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -137,6 +255,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -148,7 +267,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -180,8 +311,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -200,7 +336,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -217,7 +354,7 @@ "type" : "string" }, "editMode" : { - "description" : "Allows editing checks even if all the checks have passed.", + "description" : "Indicates if editing checks is allowed even if all the checks have passed.", "type" : "boolean" }, "platformName" : { @@ -227,6 +364,10 @@ "returnUrl" : { "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters. If you don't provide this, the sub-merchant will be redirected back to the default return URL configured in your platform account.", "type" : "string" + }, + "shopperLocale" : { + "description" : "The language to be used in the page, specified by a combination of a language and country code. For example, **pt-BR**. \n\nIf not specified in the request or if the language is not supported, the page uses the browser language. If the browser language is not supported, the page uses **en-US** by default.\n\nFor a list supported languages, refer to [Change the page language](https://docs.adyen.com/platforms/hosted-onboarding-page#change-page-language).", + "type" : "string" } }, "required" : [ @@ -236,7 +377,8 @@ "GetOnboardingUrlResponse" : { "properties" : { "invalidFields" : { - "description" : "Contains field validation errors that would prevent requests from being processed.", + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" }, @@ -247,7 +389,7 @@ "type" : "string" }, "redirectUrl" : { - "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 15 seconds and can only be used once.", + "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", "type" : "string" }, "resultCode" : { @@ -259,6 +401,69 @@ "type" : "boolean" } } + }, + "GetPciUrlRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "returnUrl" : { + "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters.", + "type" : "string" + } + }, + "required" : [ + "accountHolderCode" + ] + }, + "GetPciUrlResponse" : { + "properties" : { + "invalidFields" : { + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "redirectUrl" : { + "description" : "The URL to the PCI Compliance Questionnaire Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + }, + "submittedAsync" : { + "description" : "Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:\n* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.\n* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.", + "type" : "boolean" + } + } + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -271,6 +476,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/HopService-v5.json b/json/HopService-v5.json index 6efc939..9b21927 100644 --- a/json/HopService-v5.json +++ b/json/HopService-v5.json @@ -7,23 +7,25 @@ ], "info" : { "version" : "5", - "title" : "Adyen for Platforms: Hosted Onboarding Page API", - "description" : "The Hosted Onboarding Page (HOP) API provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/onboarding-and-verification/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v5/getOnboardingUrl\n```", + "x-publicVersion" : true, + "title" : "Adyen for Platforms: Hosted Onboarding", + "description" : "Hosted Onboarding provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v5/getOnboardingUrl\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ - "Hosted Onboarding Page" + "Hosted Onboarding Page", + "PCI Compliance Questionnaire Page" ], "paths" : { "/getOnboardingUrl" : { "post" : { - "summary" : "Get a new onboarding url for an account holder.", - "description" : "This endpoint is used to get a new onboarding url for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. A returnUrl can also be specified as part of this request.", + "summary" : "Get a link to a Hosted Onboarding Page.", + "description" : "Returns a link to a Hosted Onboarding Page (HOP) to be used by a specific account holder. Each account holder represents a single sub-merchant.\n\nFor more information on how to use HOP, refer to [Hosted Onboarding Page](https://docs.adyen.com/platforms/hosted-onboarding-page). ", "operationId" : "post-getOnboardingUrl", "x-groupName" : "Hosted Onboarding Page", "x-sortIndex" : 1, @@ -48,19 +50,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getPciQuestionnaireUrl" : { + "post" : { + "summary" : "Get a new PCI compliance questionnaire URL for an account holder.", + "description" : "This endpoint is used to get a new PCI compliance questionnaire URL for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. ", + "operationId" : "post-getPciQuestionnaireUrl", + "x-groupName" : "PCI Compliance Questionnaire Page", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,6 +234,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -137,6 +255,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -148,7 +267,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -180,8 +311,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -200,7 +336,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -217,7 +354,7 @@ "type" : "string" }, "editMode" : { - "description" : "Allows editing checks even if all the checks have passed.", + "description" : "Indicates if editing checks is allowed even if all the checks have passed.", "type" : "boolean" }, "platformName" : { @@ -227,6 +364,10 @@ "returnUrl" : { "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters. If you don't provide this, the sub-merchant will be redirected back to the default return URL configured in your platform account.", "type" : "string" + }, + "shopperLocale" : { + "description" : "The language to be used in the page, specified by a combination of a language and country code. For example, **pt-BR**. \n\nIf not specified in the request or if the language is not supported, the page uses the browser language. If the browser language is not supported, the page uses **en-US** by default.\n\nFor a list supported languages, refer to [Change the page language](https://docs.adyen.com/platforms/hosted-onboarding-page#change-page-language).", + "type" : "string" } }, "required" : [ @@ -236,7 +377,8 @@ "GetOnboardingUrlResponse" : { "properties" : { "invalidFields" : { - "description" : "Contains field validation errors that would prevent requests from being processed.", + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" }, @@ -247,7 +389,7 @@ "type" : "string" }, "redirectUrl" : { - "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 15 seconds and can only be used once.", + "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", "type" : "string" }, "resultCode" : { @@ -255,6 +397,65 @@ "type" : "string" } } + }, + "GetPciUrlRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "returnUrl" : { + "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters.", + "type" : "string" + } + }, + "required" : [ + "accountHolderCode" + ] + }, + "GetPciUrlResponse" : { + "properties" : { + "invalidFields" : { + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "redirectUrl" : { + "description" : "The URL to the PCI Compliance Questionnaire Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + } + } + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -267,6 +468,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/HopService-v6.json b/json/HopService-v6.json index a08c66d..c080de6 100644 --- a/json/HopService-v6.json +++ b/json/HopService-v6.json @@ -7,23 +7,25 @@ ], "info" : { "version" : "6", - "title" : "Adyen for Platforms: Hosted Onboarding Page API", - "description" : "The Hosted Onboarding Page (HOP) API provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/onboarding-and-verification/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v6/getOnboardingUrl\n```", + "x-publicVersion" : true, + "title" : "Adyen for Platforms: Hosted Onboarding", + "description" : "Hosted Onboarding provides endpoints for using the Hosted Onboarding Page. The related entities include account holders only. \nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/hosted-onboarding-page).\n## Authentication\nTo connect to the HOP API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe HOP API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Hop/v6/getOnboardingUrl\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ - "Hosted Onboarding Page" + "Hosted Onboarding Page", + "PCI Compliance Questionnaire Page" ], "paths" : { "/getOnboardingUrl" : { "post" : { - "summary" : "Get a new onboarding url for an account holder.", - "description" : "This endpoint is used to get a new onboarding url for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. A returnUrl can also be specified as part of this request.", + "summary" : "Get a link to a Hosted Onboarding Page.", + "description" : "Returns a link to a Hosted Onboarding Page (HOP) to be used by a specific account holder. Each account holder represents a single sub-merchant.\n\nFor more information on how to use HOP, refer to [Hosted Onboarding Page](https://docs.adyen.com/platforms/hosted-onboarding-page). ", "operationId" : "post-getOnboardingUrl", "x-groupName" : "Hosted Onboarding Page", "x-sortIndex" : 1, @@ -48,19 +50,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/getPciQuestionnaireUrl" : { + "post" : { + "summary" : "Get a new PCI compliance questionnaire URL for an account holder.", + "description" : "This endpoint is used to get a new PCI compliance questionnaire URL for a specific account holder. Each account holder represents a single sub-merchant, and each sub-merchant must be represented by an account holder. ", + "operationId" : "post-getPciQuestionnaireUrl", + "x-groupName" : "PCI Compliance Questionnaire Page", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetPciUrlResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -117,6 +234,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -137,6 +255,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -148,7 +267,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -180,8 +311,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -200,7 +336,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -217,7 +354,7 @@ "type" : "string" }, "editMode" : { - "description" : "Allows editing checks even if all the checks have passed.", + "description" : "Indicates if editing checks is allowed even if all the checks have passed.", "type" : "boolean" }, "platformName" : { @@ -227,6 +364,10 @@ "returnUrl" : { "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters. If you don't provide this, the sub-merchant will be redirected back to the default return URL configured in your platform account.", "type" : "string" + }, + "shopperLocale" : { + "description" : "The language to be used in the page, specified by a combination of a language and country code. For example, **pt-BR**. \n\nIf not specified in the request or if the language is not supported, the page uses the browser language. If the browser language is not supported, the page uses **en-US** by default.\n\nFor a list supported languages, refer to [Change the page language](https://docs.adyen.com/platforms/hosted-onboarding-page#change-page-language).", + "type" : "string" } }, "required" : [ @@ -236,7 +377,8 @@ "GetOnboardingUrlResponse" : { "properties" : { "invalidFields" : { - "description" : "Contains field validation errors that would prevent requests from being processed.", + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" }, @@ -247,7 +389,7 @@ "type" : "string" }, "redirectUrl" : { - "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 15 seconds and can only be used once.", + "description" : "The URL to the Hosted Onboarding Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", "type" : "string" }, "resultCode" : { @@ -255,6 +397,65 @@ "type" : "string" } } + }, + "GetPciUrlRequest" : { + "properties" : { + "accountHolderCode" : { + "description" : "The account holder code you provided when you created the account holder.", + "type" : "string" + }, + "returnUrl" : { + "description" : "The URL where the sub-merchant will be redirected back to after they complete the onboarding, or if their session times out. Maximum length of 500 characters.", + "type" : "string" + } + }, + "required" : [ + "accountHolderCode" + ] + }, + "GetPciUrlResponse" : { + "properties" : { + "invalidFields" : { + "x-addedInVersion" : 5, + "description" : "Information about any invalid fields.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, + "pspReference" : { + "description" : "The reference of a request. Can be used to uniquely identify the request.", + "type" : "string" + }, + "redirectUrl" : { + "description" : "The URL to the PCI Compliance Questionnaire Page where you should redirect your sub-merchant. This URL must be used within 30 seconds and can only be used once.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result code.", + "type" : "string" + } + } + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -267,6 +468,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/MarketPayNotificationService-v3.json b/json/MarketPayNotificationService-v3.json index 4e55c47..964a5d9 100644 --- a/json/MarketPayNotificationService-v3.json +++ b/json/MarketPayNotificationService-v3.json @@ -2,13 +2,14 @@ "openapi" : "3.0.3", "info" : { "version" : "3", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notifications", - "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).", + "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -80,6 +81,36 @@ } } }, + "/ACCOUNT_FUNDS_BELOW_THRESHOLD" : { + "post" : { + "summary" : "Triggered when a liable account current funds are below configured threshold.", + "description" : "This notification is sent when a liable account's current funds are below configured threshold from the Adyen platform.", + "operationId" : "post-ACCOUNT_FUNDS_BELOW_THRESHOLD", + "x-groupName" : "Fund management", + "x-sortIndex" : 7, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotification" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "/ACCOUNT_HOLDER_CREATED" : { "post" : { "summary" : "Triggered upon the creation of an account holder.", @@ -440,36 +471,6 @@ } } }, - "/PAYOUT_CONFIRMED" : { - "post" : { - "summary" : "Triggered when a payout has been confirmed.", - "description" : "This notification is sent when a payout is confirmed from the Adyen platform.", - "operationId" : "post-PAYOUT_CONFIRMED", - "x-groupName" : "Fund management", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AccountHolderPayoutNotification" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - } - } - } - }, "/REFUND_FUNDS_TRANSFER" : { "post" : { "summary" : "Triggered upon the transfer refund of funds between accounts.", @@ -658,7 +659,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -681,6 +682,65 @@ "reason" ] }, + "AccountFundsBelowThresholdNotification" : { + "properties" : { + "content" : { + "description" : "Details of the liable account with funds under threshold.", + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotificationContent" + }, + "eventType" : { + "description" : "The event type of the notification.", + "type" : "string" + }, + "executingUserKey" : { + "description" : "The user or process that has triggered the notification.", + "type" : "string" + }, + "live" : { + "description" : "Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.", + "type" : "boolean" + }, + "pspReference" : { + "description" : "The PSP reference of the request from which the notification originates.", + "type" : "string" + } + }, + "required" : [ + "executingUserKey", + "pspReference", + "eventType", + "live" + ] + }, + "AccountFundsBelowThresholdNotificationContent" : { + "properties" : { + "accountCode" : { + "description" : "The code of the account with funds under threshold", + "type" : "string" + }, + "balanceDate" : { + "description" : "The date of the funds were found to be below threshold.", + "$ref" : "#/components/schemas/LocalDate" + }, + "currentFunds" : { + "description" : "The current funds in the liable account.", + "$ref" : "#/components/schemas/Amount" + }, + "fundThreshold" : { + "description" : "The configured fund threshold for the liable account", + "$ref" : "#/components/schemas/Amount" + }, + "merchantAccountCode" : { + "description" : "The code of the merchant account.", + "type" : "string" + } + }, + "required" : [ + "accountCode", + "merchantAccountCode", + "fundThreshold" + ] + }, "AccountHolderCreateNotification" : { "properties" : { "content" : { @@ -719,14 +779,14 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -738,7 +798,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -824,6 +884,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The merchant reference.", "type" : "string" }, @@ -909,23 +970,13 @@ "description" : "The code of the account holder.", "type" : "string" }, - "newStatus" : { - "description" : "The new status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, - "oldStatus" : { - "description" : "The former status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, "reason" : { "description" : "The reason for the status change.", "type" : "string" } }, "required" : [ - "accountHolderCode", - "oldStatus", - "newStatus" + "accountHolderCode" ] }, "AccountHolderStoreStatusChangeNotification" : { @@ -1001,17 +1052,19 @@ "description" : "The event name that will be trigger if no action is taken.", "enum" : [ "AccessPii", + "ApiTierUpdate", "CloseAccount", "CloseStores", "DeleteBankAccounts", - "DeletePayoutInstrumentTokens", "DeletePayoutMethods", "DeleteShareholders", "InactivateAccount", + "KYCDeadlineExtension", "RecalculateAccountStatusAndProcessingTier", "RefundNotPaidOutTransfers", "ResolveEvents", "SaveAccountHolder", + "SaveCriminalityAndPEPChecks", "SaveKYCCheckStatus", "SuspendAccount", "UnSuspendAccount", @@ -1022,7 +1075,8 @@ }, "executionDate" : { "description" : "The execution date scheduled for the event.", - "$ref" : "#/components/schemas/LocalDate" + "format" : "date-time", + "type" : "string" }, "reason" : { "description" : "The reason that leads to scheduling of the event.", @@ -1135,10 +1189,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1166,6 +1227,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1191,6 +1253,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1237,7 +1300,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1458,6 +1521,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1473,8 +1537,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "status" ] }, @@ -1559,10 +1621,12 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1582,13 +1646,12 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderCode", "accountHolderStatus", "accountHolderDetails", @@ -1618,6 +1681,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1633,8 +1697,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderCode", "accountCode", "status" @@ -1684,10 +1746,24 @@ "description" : "The date of the debit initiation.", "$ref" : "#/components/schemas/LocalDate" }, + "invalidFields" : { + "description" : "Invalid fields list.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, "merchantAccountCode" : { "description" : "The code of the merchant account.", "type" : "string" }, + "splits" : { + "description" : "The split data for the debit request", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, "status" : { "description" : "Direct debit status.", "$ref" : "#/components/schemas/OperationStatus" @@ -1748,6 +1824,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1768,6 +1845,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1779,7 +1857,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1811,8 +1901,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1831,7 +1926,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1881,7 +1977,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -1926,10 +2022,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1970,11 +2073,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -2360,12 +2463,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2373,7 +2480,15 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2382,6 +2497,61 @@ } } }, + "Split" : { + "properties" : { + "account" : { + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", + "type" : "string" + }, + "amount" : { + "description" : "The amount of this split.", + "$ref" : "#/components/schemas/SplitAmount" + }, + "description" : { + "description" : "A description of this split.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", + "type" : "string" + }, + "type" : { + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "MarketPlace", + "PaymentFee", + "VAT", + "Verification" + ], + "type" : "string" + } + }, + "required" : [ + "amount", + "type" + ] + }, + "SplitAmount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).\n\nIf this value is not provided, the currency in which the payment is made will be used.", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, "Transaction" : { "properties" : { "amount" : { @@ -2426,10 +2596,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -2442,7 +2614,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -2457,15 +2629,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -2524,6 +2705,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The reference provided by the merchant.", "type" : "string" }, @@ -2558,10 +2740,12 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2588,13 +2772,12 @@ "type" : "array" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderStatus", "verification" ] @@ -2623,8 +2806,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "accountCode" ] }, @@ -2673,7 +2854,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2687,8 +2867,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2698,6 +2877,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2754,6 +2934,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/MarketPayNotificationService-v4.json b/json/MarketPayNotificationService-v4.json index bf0f834..5843114 100644 --- a/json/MarketPayNotificationService-v4.json +++ b/json/MarketPayNotificationService-v4.json @@ -2,13 +2,14 @@ "openapi" : "3.0.3", "info" : { "version" : "4", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notifications", - "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).", + "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -80,6 +81,36 @@ } } }, + "/ACCOUNT_FUNDS_BELOW_THRESHOLD" : { + "post" : { + "summary" : "Triggered when a liable account current funds are below configured threshold.", + "description" : "This notification is sent when a liable account's current funds are below configured threshold from the Adyen platform.", + "operationId" : "post-ACCOUNT_FUNDS_BELOW_THRESHOLD", + "x-groupName" : "Fund management", + "x-sortIndex" : 7, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotification" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "/ACCOUNT_HOLDER_CREATED" : { "post" : { "summary" : "Triggered upon the creation of an account holder.", @@ -440,36 +471,6 @@ } } }, - "/PAYOUT_CONFIRMED" : { - "post" : { - "summary" : "Triggered when a payout has been confirmed.", - "description" : "This notification is sent when a payout is confirmed from the Adyen platform.", - "operationId" : "post-PAYOUT_CONFIRMED", - "x-groupName" : "Fund management", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AccountHolderPayoutNotification" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - } - } - } - }, "/REFUND_FUNDS_TRANSFER" : { "post" : { "summary" : "Triggered upon the transfer refund of funds between accounts.", @@ -600,6 +601,7 @@ "$ref" : "#/components/schemas/CloseAccountResponse" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -637,6 +639,7 @@ "$ref" : "#/components/schemas/CreateAccountResponse" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -670,7 +673,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -693,6 +696,72 @@ "reason" ] }, + "AccountFundsBelowThresholdNotification" : { + "properties" : { + "content" : { + "description" : "Details of the liable account with funds under threshold.", + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotificationContent" + }, + "eventDate" : { + "x-addedInVersion" : 4, + "description" : "The date and time when an event has been completed.", + "format" : "date-time", + "type" : "string" + }, + "eventType" : { + "description" : "The event type of the notification.", + "type" : "string" + }, + "executingUserKey" : { + "description" : "The user or process that has triggered the notification.", + "type" : "string" + }, + "live" : { + "description" : "Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.", + "type" : "boolean" + }, + "pspReference" : { + "description" : "The PSP reference of the request from which the notification originates.", + "type" : "string" + } + }, + "required" : [ + "executingUserKey", + "pspReference", + "eventType", + "live", + "eventDate" + ] + }, + "AccountFundsBelowThresholdNotificationContent" : { + "properties" : { + "accountCode" : { + "description" : "The code of the account with funds under threshold", + "type" : "string" + }, + "balanceDate" : { + "description" : "The date of the funds were found to be below threshold.", + "$ref" : "#/components/schemas/LocalDate" + }, + "currentFunds" : { + "description" : "The current funds in the liable account.", + "$ref" : "#/components/schemas/Amount" + }, + "fundThreshold" : { + "description" : "The configured fund threshold for the liable account", + "$ref" : "#/components/schemas/Amount" + }, + "merchantAccountCode" : { + "description" : "The code of the merchant account.", + "type" : "string" + } + }, + "required" : [ + "accountCode", + "merchantAccountCode", + "fundThreshold" + ] + }, "AccountHolderCreateNotification" : { "properties" : { "content" : { @@ -700,6 +769,7 @@ "$ref" : "#/components/schemas/CreateAccountHolderResponse" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -737,14 +807,14 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -756,7 +826,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -788,6 +858,7 @@ "$ref" : "#/components/schemas/AccountHolderPayoutNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -848,6 +919,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The merchant reference.", "type" : "string" }, @@ -904,6 +976,7 @@ "$ref" : "#/components/schemas/AccountHolderStatusChangeNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -939,23 +1012,13 @@ "description" : "The code of the account holder.", "type" : "string" }, - "newStatus" : { - "description" : "The new status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, - "oldStatus" : { - "description" : "The former status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, "reason" : { "description" : "The reason for the status change.", "type" : "string" } }, "required" : [ - "accountHolderCode", - "oldStatus", - "newStatus" + "accountHolderCode" ] }, "AccountHolderStoreStatusChangeNotification" : { @@ -965,6 +1028,7 @@ "$ref" : "#/components/schemas/AccountHolderStoreStatusChangeNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1004,6 +1068,7 @@ "$ref" : "#/components/schemas/AccountHolderUpcomingDeadlineNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1043,17 +1108,19 @@ "description" : "The event name that will be trigger if no action is taken.", "enum" : [ "AccessPii", + "ApiTierUpdate", "CloseAccount", "CloseStores", "DeleteBankAccounts", - "DeletePayoutInstrumentTokens", "DeletePayoutMethods", "DeleteShareholders", "InactivateAccount", + "KYCDeadlineExtension", "RecalculateAccountStatusAndProcessingTier", "RefundNotPaidOutTransfers", "ResolveEvents", "SaveAccountHolder", + "SaveCriminalityAndPEPChecks", "SaveKYCCheckStatus", "SuspendAccount", "UnSuspendAccount", @@ -1064,7 +1131,8 @@ }, "executionDate" : { "description" : "The execution date scheduled for the event.", - "$ref" : "#/components/schemas/LocalDate" + "format" : "date-time", + "type" : "string" }, "reason" : { "description" : "The reason that leads to scheduling of the event.", @@ -1079,6 +1147,7 @@ "$ref" : "#/components/schemas/UpdateAccountHolderResponse" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1116,6 +1185,7 @@ "$ref" : "#/components/schemas/AccountHolderVerificationNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1161,6 +1231,7 @@ "type" : "string" }, "statusSummary" : { + "x-addedInVersion" : 4, "description" : "A summary of the verification status.", "$ref" : "#/components/schemas/KYCCheckSummary" }, @@ -1185,10 +1256,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -1216,6 +1294,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1241,6 +1320,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1254,6 +1334,7 @@ "$ref" : "#/components/schemas/UpdateAccountResponse" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1293,7 +1374,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1414,6 +1495,7 @@ "$ref" : "#/components/schemas/BeneficiarySetupNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1497,6 +1579,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1524,6 +1607,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1539,8 +1623,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "status" ] }, @@ -1551,6 +1633,7 @@ "$ref" : "#/components/schemas/CompensateNegativeBalanceNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1631,14 +1714,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1646,6 +1732,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1669,13 +1756,12 @@ "type" : "boolean" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderCode", "accountHolderStatus", "accountHolderDetails", @@ -1694,6 +1780,7 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, @@ -1710,6 +1797,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1725,8 +1813,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderCode", "accountCode", "status" @@ -1739,6 +1825,7 @@ "$ref" : "#/components/schemas/DirectDebitInitiatedNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1782,10 +1869,24 @@ "description" : "The date of the debit initiation.", "$ref" : "#/components/schemas/LocalDate" }, + "invalidFields" : { + "description" : "Invalid fields list.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, "merchantAccountCode" : { "description" : "The code of the merchant account.", "type" : "string" }, + "splits" : { + "description" : "The split data for the debit request", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, "status" : { "description" : "Direct debit status.", "$ref" : "#/components/schemas/OperationStatus" @@ -1846,6 +1947,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -1866,6 +1968,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -1877,7 +1980,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -1909,8 +2024,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -1929,7 +2049,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -1966,7 +2087,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -2011,10 +2132,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -2055,11 +2183,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -2128,6 +2256,7 @@ "$ref" : "#/components/schemas/PaymentFailureNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2253,6 +2382,7 @@ "$ref" : "#/components/schemas/RefundFundsTransferNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2334,6 +2464,7 @@ "$ref" : "#/components/schemas/ReportAvailableNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2396,6 +2527,7 @@ "$ref" : "#/components/schemas/ScheduledRefundsNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2469,12 +2601,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2482,7 +2618,15 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2491,6 +2635,61 @@ } } }, + "Split" : { + "properties" : { + "account" : { + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", + "type" : "string" + }, + "amount" : { + "description" : "The amount of this split.", + "$ref" : "#/components/schemas/SplitAmount" + }, + "description" : { + "description" : "A description of this split.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", + "type" : "string" + }, + "type" : { + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "MarketPlace", + "PaymentFee", + "VAT", + "Verification" + ], + "type" : "string" + } + }, + "required" : [ + "amount", + "type" + ] + }, + "SplitAmount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).\n\nIf this value is not provided, the currency in which the payment is made will be used.", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, "Transaction" : { "properties" : { "amount" : { @@ -2535,10 +2734,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -2551,7 +2752,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -2566,15 +2767,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -2598,6 +2808,7 @@ "$ref" : "#/components/schemas/TransferFundsNotificationContent" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2639,6 +2850,7 @@ "type" : "string" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The reference provided by the merchant.", "type" : "string" }, @@ -2673,14 +2885,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2688,6 +2903,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2718,13 +2934,12 @@ "type" : "array" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", - "submittedAsync", "accountHolderStatus", "verification", "legalEntity" @@ -2737,6 +2952,7 @@ "type" : "string" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, @@ -2758,8 +2974,6 @@ } }, "required" : [ - "pspReference", - "submittedAsync", "accountCode" ] }, @@ -2808,7 +3022,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -2822,8 +3035,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -2833,6 +3045,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -2889,6 +3102,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/MarketPayNotificationService-v5.json b/json/MarketPayNotificationService-v5.json index 246c16f..af3e14e 100644 --- a/json/MarketPayNotificationService-v5.json +++ b/json/MarketPayNotificationService-v5.json @@ -2,13 +2,14 @@ "openapi" : "3.0.3", "info" : { "version" : "5", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notifications", - "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).", + "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -80,6 +81,36 @@ } } }, + "/ACCOUNT_FUNDS_BELOW_THRESHOLD" : { + "post" : { + "summary" : "Triggered when a liable account current funds are below configured threshold.", + "description" : "This notification is sent when a liable account's current funds are below configured threshold from the Adyen platform.", + "operationId" : "post-ACCOUNT_FUNDS_BELOW_THRESHOLD", + "x-groupName" : "Fund management", + "x-sortIndex" : 7, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotification" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "/ACCOUNT_HOLDER_CREATED" : { "post" : { "summary" : "Triggered upon the creation of an account holder.", @@ -440,36 +471,6 @@ } } }, - "/PAYOUT_CONFIRMED" : { - "post" : { - "summary" : "Triggered when a payout has been confirmed.", - "description" : "This notification is sent when a payout is confirmed from the Adyen platform.", - "operationId" : "post-PAYOUT_CONFIRMED", - "x-groupName" : "Fund management", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AccountHolderPayoutNotification" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - } - } - } - }, "/REFUND_FUNDS_TRANSFER" : { "post" : { "summary" : "Triggered upon the transfer refund of funds between accounts.", @@ -600,10 +601,12 @@ "$ref" : "#/components/schemas/CloseAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -641,10 +644,12 @@ "$ref" : "#/components/schemas/CreateAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -678,7 +683,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -701,6 +706,77 @@ "reason" ] }, + "AccountFundsBelowThresholdNotification" : { + "properties" : { + "content" : { + "description" : "Details of the liable account with funds under threshold.", + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotificationContent" + }, + "error" : { + "x-addedInVersion" : 5, + "description" : "Error information of failed request. No value provided here if no error occurred on processing.", + "$ref" : "#/components/schemas/NotificationErrorContainer" + }, + "eventDate" : { + "x-addedInVersion" : 4, + "description" : "The date and time when an event has been completed.", + "format" : "date-time", + "type" : "string" + }, + "eventType" : { + "description" : "The event type of the notification.", + "type" : "string" + }, + "executingUserKey" : { + "description" : "The user or process that has triggered the notification.", + "type" : "string" + }, + "live" : { + "description" : "Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.", + "type" : "boolean" + }, + "pspReference" : { + "description" : "The PSP reference of the request from which the notification originates.", + "type" : "string" + } + }, + "required" : [ + "executingUserKey", + "pspReference", + "eventType", + "live", + "eventDate" + ] + }, + "AccountFundsBelowThresholdNotificationContent" : { + "properties" : { + "accountCode" : { + "description" : "The code of the account with funds under threshold", + "type" : "string" + }, + "balanceDate" : { + "description" : "The date of the funds were found to be below threshold.", + "$ref" : "#/components/schemas/LocalDate" + }, + "currentFunds" : { + "description" : "The current funds in the liable account.", + "$ref" : "#/components/schemas/Amount" + }, + "fundThreshold" : { + "description" : "The configured fund threshold for the liable account", + "$ref" : "#/components/schemas/Amount" + }, + "merchantAccountCode" : { + "description" : "The code of the merchant account.", + "type" : "string" + } + }, + "required" : [ + "accountCode", + "merchantAccountCode", + "fundThreshold" + ] + }, "AccountHolderCreateNotification" : { "properties" : { "content" : { @@ -708,10 +784,12 @@ "$ref" : "#/components/schemas/CreateAccountHolderResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -749,18 +827,19 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "bankAggregatorDataReference" : { + "x-addedInVersion" : 5, "description" : "The opaque reference value returned by the Adyen API during bank account login.", "type" : "string" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -772,7 +851,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -787,7 +866,8 @@ "type" : "object" }, "payoutMethods" : { - "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "x-addedInVersion" : 5, + "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/PayoutMethod" }, @@ -811,10 +891,12 @@ "$ref" : "#/components/schemas/AccountHolderPayoutNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -875,10 +957,12 @@ "type" : "string" }, "estimatedArrivalDate" : { + "x-addedInVersion" : 5, "description" : "The estimated date of arrival.", "$ref" : "#/components/schemas/LocalDate" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -886,16 +970,20 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The merchant reference.", "type" : "string" }, "originalPspReference" : { + "x-addedInVersion" : 5, "description" : "The PSP reference of the original payout.", "type" : "string" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -954,10 +1042,12 @@ "$ref" : "#/components/schemas/AccountHolderStatusChangeNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -994,29 +1084,20 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" }, "type" : "array" }, - "newStatus" : { - "description" : "The new status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, - "oldStatus" : { - "description" : "The former status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, "reason" : { "description" : "The reason for the status change.", "type" : "string" } }, "required" : [ - "accountHolderCode", - "oldStatus", - "newStatus" + "accountHolderCode" ] }, "AccountHolderStoreStatusChangeNotification" : { @@ -1026,10 +1107,12 @@ "$ref" : "#/components/schemas/AccountHolderStoreStatusChangeNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1062,10 +1145,12 @@ "AccountHolderStoreStatusChangeNotificationContent" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 5, "description" : "The code of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "In case the store status has not been updated, contains fields that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1073,6 +1158,7 @@ "type" : "array" }, "newStatus" : { + "x-addedInVersion" : 5, "description" : "The new status of the account holder.", "enum" : [ "Active", @@ -1084,6 +1170,7 @@ "type" : "string" }, "oldStatus" : { + "x-addedInVersion" : 5, "description" : "The former status of the account holder.", "enum" : [ "Active", @@ -1095,14 +1182,17 @@ "type" : "string" }, "reason" : { + "x-addedInVersion" : 5, "description" : "The reason for the status change.", "type" : "string" }, "store" : { + "x-addedInVersion" : 5, "description" : "Alphanumeric identifier of the store.", "type" : "string" }, "storeReference" : { + "x-addedInVersion" : 5, "description" : "Store store reference.", "type" : "string" } @@ -1122,10 +1212,12 @@ "$ref" : "#/components/schemas/AccountHolderUpcomingDeadlineNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1165,17 +1257,19 @@ "description" : "The event name that will be trigger if no action is taken.", "enum" : [ "AccessPii", + "ApiTierUpdate", "CloseAccount", "CloseStores", "DeleteBankAccounts", - "DeletePayoutInstrumentTokens", "DeletePayoutMethods", "DeleteShareholders", "InactivateAccount", + "KYCDeadlineExtension", "RecalculateAccountStatusAndProcessingTier", "RefundNotPaidOutTransfers", "ResolveEvents", "SaveAccountHolder", + "SaveCriminalityAndPEPChecks", "SaveKYCCheckStatus", "SuspendAccount", "UnSuspendAccount", @@ -1186,7 +1280,8 @@ }, "executionDate" : { "description" : "The execution date scheduled for the event.", - "$ref" : "#/components/schemas/LocalDate" + "format" : "date-time", + "type" : "string" }, "reason" : { "description" : "The reason that leads to scheduling of the event.", @@ -1201,10 +1296,12 @@ "$ref" : "#/components/schemas/UpdateAccountHolderResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1242,10 +1339,12 @@ "$ref" : "#/components/schemas/AccountHolderVerificationNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1287,6 +1386,7 @@ "type" : "string" }, "kycCheckStatusData" : { + "x-addedInVersion" : 5, "description" : "Information on the verification status", "$ref" : "#/components/schemas/KYCCheckStatusData" }, @@ -1314,6 +1414,7 @@ "type" : "boolean" }, "notAllowedReason" : { + "x-addedInVersion" : 5, "description" : "The reason why payouts (to all of the account holder's accounts) have been disabled (by Adyen). If payouts have been disabled by Adyen, this field will explain why. If this field is blank, payouts have not been disabled by Adyen.", "type" : "string" }, @@ -1322,6 +1423,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1347,6 +1449,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1360,10 +1463,12 @@ "$ref" : "#/components/schemas/UpdateAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1403,7 +1508,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1428,6 +1533,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -1528,10 +1634,12 @@ "$ref" : "#/components/schemas/BeneficiarySetupNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1573,6 +1681,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A listing of the invalid fields which have caused the Setup Beneficiary request to fail. If this is empty, the Setup Beneficiary request has succeeded.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1616,6 +1725,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1635,10 +1745,12 @@ "CloseAccountResponse" : { "properties" : { "accountCode" : { + "x-addedInVersion" : 5, "description" : "The account code of the account that is closed.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1654,6 +1766,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1665,7 +1778,6 @@ } }, "required" : [ - "pspReference", "status" ] }, @@ -1676,10 +1788,12 @@ "$ref" : "#/components/schemas/CompensateNegativeBalanceNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1760,14 +1874,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1775,6 +1892,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1786,6 +1904,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1798,12 +1917,12 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", "accountHolderCode", "accountHolderStatus", "accountHolderDetails", @@ -1821,11 +1940,18 @@ "description" : "The code of the account holder.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1833,18 +1959,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1859,6 +1994,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1870,7 +2006,6 @@ } }, "required" : [ - "pspReference", "accountHolderCode", "accountCode", "status" @@ -1883,10 +2018,12 @@ "$ref" : "#/components/schemas/DirectDebitInitiatedNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1930,10 +2067,24 @@ "description" : "The date of the debit initiation.", "$ref" : "#/components/schemas/LocalDate" }, + "invalidFields" : { + "description" : "Invalid fields list.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, "merchantAccountCode" : { "description" : "The code of the merchant account.", "type" : "string" }, + "splits" : { + "description" : "The split data for the debit request", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, "status" : { "description" : "Direct debit status.", "$ref" : "#/components/schemas/OperationStatus" @@ -1994,6 +2145,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -2014,6 +2166,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -2025,7 +2178,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -2057,8 +2222,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -2077,7 +2247,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -2129,7 +2300,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -2174,10 +2345,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -2190,11 +2368,13 @@ "KYCCheckSummary" : { "properties" : { "kycCheckCode" : { + "x-addedInVersion" : 5, "description" : "The code of the check.", "format" : "int32", "type" : "integer" }, "kycCheckDescription" : { + "x-addedInVersion" : 5, "description" : "A description of the check.", "type" : "string" } @@ -2215,11 +2395,11 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "bankAccounts" : { "description" : "The result(s) of the checks on the bank account(s).", @@ -2229,6 +2409,7 @@ "type" : "array" }, "cards" : { + "x-addedInVersion" : 5, "description" : "The result(s) of the checks on the card(s).", "items" : { "$ref" : "#/components/schemas/KYCCardCheckResult" @@ -2307,10 +2488,12 @@ "$ref" : "#/components/schemas/PaymentFailureNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2463,10 +2646,12 @@ "$ref" : "#/components/schemas/RefundFundsTransferNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2504,6 +2689,7 @@ "$ref" : "#/components/schemas/Amount" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2555,10 +2741,12 @@ "$ref" : "#/components/schemas/ReportAvailableNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2621,10 +2809,12 @@ "$ref" : "#/components/schemas/ScheduledRefundsNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2666,6 +2856,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2705,12 +2896,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2718,11 +2913,20 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", "type" : "string" }, "shareholderReference" : { - "description" : "Merchant reference to the Shareholder.", + "x-addedInVersion" : 5, + "description" : "Your reference for the shareholder.", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2731,6 +2935,61 @@ } } }, + "Split" : { + "properties" : { + "account" : { + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", + "type" : "string" + }, + "amount" : { + "description" : "The amount of this split.", + "$ref" : "#/components/schemas/SplitAmount" + }, + "description" : { + "description" : "A description of this split.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", + "type" : "string" + }, + "type" : { + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "MarketPlace", + "PaymentFee", + "VAT", + "Verification" + ], + "type" : "string" + } + }, + "required" : [ + "amount", + "type" + ] + }, + "SplitAmount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).\n\nIf this value is not provided, the currency in which the payment is made will be used.", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, "Transaction" : { "properties" : { "amount" : { @@ -2775,10 +3034,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -2791,7 +3052,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -2806,15 +3067,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -2838,10 +3108,12 @@ "$ref" : "#/components/schemas/TransferFundsNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2883,6 +3155,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2890,6 +3163,7 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The reference provided by the merchant.", "type" : "string" }, @@ -2924,14 +3198,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2939,6 +3216,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2950,6 +3228,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -2962,12 +3241,12 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" } }, "required" : [ - "pspReference", "accountHolderStatus", "verification", "legalEntity" @@ -2979,11 +3258,18 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/updateAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2991,18 +3277,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -3018,7 +3313,6 @@ } }, "required" : [ - "pspReference", "accountCode" ] }, @@ -3067,7 +3361,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -3081,8 +3374,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -3092,6 +3384,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -3143,6 +3436,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/MarketPayNotificationService-v6.json b/json/MarketPayNotificationService-v6.json index 77aa81f..cef65c2 100644 --- a/json/MarketPayNotificationService-v6.json +++ b/json/MarketPayNotificationService-v6.json @@ -2,13 +2,14 @@ "openapi" : "3.0.3", "info" : { "version" : "6", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notifications", - "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).", + "description" : "The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -80,6 +81,36 @@ } } }, + "/ACCOUNT_FUNDS_BELOW_THRESHOLD" : { + "post" : { + "summary" : "Triggered when a liable account current funds are below configured threshold.", + "description" : "This notification is sent when a liable account's current funds are below configured threshold from the Adyen platform.", + "operationId" : "post-ACCOUNT_FUNDS_BELOW_THRESHOLD", + "x-groupName" : "Fund management", + "x-sortIndex" : 7, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotification" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "/ACCOUNT_HOLDER_CREATED" : { "post" : { "summary" : "Triggered upon the creation of an account holder.", @@ -440,36 +471,6 @@ } } }, - "/PAYOUT_CONFIRMED" : { - "post" : { - "summary" : "Triggered when a payout has been confirmed.", - "description" : "This notification is sent when a payout is confirmed from the Adyen platform.", - "operationId" : "post-PAYOUT_CONFIRMED", - "x-groupName" : "Fund management", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/AccountHolderPayoutNotification" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - } - } - } - }, "/REFUND_FUNDS_TRANSFER" : { "post" : { "summary" : "Triggered upon the transfer refund of funds between accounts.", @@ -600,10 +601,12 @@ "$ref" : "#/components/schemas/CloseAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -641,10 +644,12 @@ "$ref" : "#/components/schemas/CreateAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -678,7 +683,7 @@ "AccountEvent" : { "properties" : { "event" : { - "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "The event.\n>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.\nFor more information, refer to [Verification checks](https://docs.adyen.com/platforms/verification-checks).", "enum" : [ "InactivateAccount", "RefundNotPaidOutTransfers" @@ -701,6 +706,77 @@ "reason" ] }, + "AccountFundsBelowThresholdNotification" : { + "properties" : { + "content" : { + "description" : "Details of the liable account with funds under threshold.", + "$ref" : "#/components/schemas/AccountFundsBelowThresholdNotificationContent" + }, + "error" : { + "x-addedInVersion" : 5, + "description" : "Error information of failed request. No value provided here if no error occurred on processing.", + "$ref" : "#/components/schemas/NotificationErrorContainer" + }, + "eventDate" : { + "x-addedInVersion" : 4, + "description" : "The date and time when an event has been completed.", + "format" : "date-time", + "type" : "string" + }, + "eventType" : { + "description" : "The event type of the notification.", + "type" : "string" + }, + "executingUserKey" : { + "description" : "The user or process that has triggered the notification.", + "type" : "string" + }, + "live" : { + "description" : "Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.", + "type" : "boolean" + }, + "pspReference" : { + "description" : "The PSP reference of the request from which the notification originates.", + "type" : "string" + } + }, + "required" : [ + "executingUserKey", + "pspReference", + "eventType", + "live", + "eventDate" + ] + }, + "AccountFundsBelowThresholdNotificationContent" : { + "properties" : { + "accountCode" : { + "description" : "The code of the account with funds under threshold", + "type" : "string" + }, + "balanceDate" : { + "description" : "The date of the funds were found to be below threshold.", + "$ref" : "#/components/schemas/LocalDate" + }, + "currentFunds" : { + "description" : "The current funds in the liable account.", + "$ref" : "#/components/schemas/Amount" + }, + "fundThreshold" : { + "description" : "The configured fund threshold for the liable account", + "$ref" : "#/components/schemas/Amount" + }, + "merchantAccountCode" : { + "description" : "The code of the merchant account.", + "type" : "string" + } + }, + "required" : [ + "accountCode", + "merchantAccountCode", + "fundThreshold" + ] + }, "AccountHolderCreateNotification" : { "properties" : { "content" : { @@ -708,10 +784,12 @@ "$ref" : "#/components/schemas/CreateAccountHolderResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -749,18 +827,19 @@ "$ref" : "#/components/schemas/ViasAddress" }, "bankAccountDetails" : { - "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "description" : "Each of the bank accounts associated with the account holder.\n> Each array entry should represent one bank account.\n> For comprehensive detail regarding the required `BankAccountDetail` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/BankAccountDetail" }, "type" : "array" }, "bankAggregatorDataReference" : { + "x-addedInVersion" : 5, "description" : "The opaque reference value returned by the Adyen API during bank account login.", "type" : "string" }, "businessDetails" : { - "description" : "Details applicable to `Business` legal entities.\nPopulated only if the account holder's legal entity is of type `Business`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Business`.", + "description" : "Details about the business or nonprofit account holder.\nRequired when creating an account holder with `legalEntity` **Business** or **NonProfit**.", "$ref" : "#/components/schemas/BusinessDetails" }, "email" : { @@ -772,7 +851,7 @@ "type" : "string" }, "individualDetails" : { - "description" : "Details applicable to `Individual` legal entities.\nPopulated only if the account holder's legal entity is of type `Individual`.\n> Required when being used in a `/createAccountHolder` request in which the legal entity is `Individual`.", + "description" : "Details about the individual account holder.\nRequired when creating an account holder with `legalEntity` **Individual**.\n", "$ref" : "#/components/schemas/IndividualDetails" }, "merchantCategoryCode" : { @@ -787,12 +866,18 @@ "type" : "object" }, "payoutMethods" : { - "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/onboarding-and-verification/verification-checks).", + "x-addedInVersion" : 5, + "description" : "Each of the card tokens associated with the account holder.\n> Each array entry should represent one card token.\n> For comprehensive detail regarding the required `CardToken` fields, please refer to the [KYC Verification documentation](https://docs.adyen.com/platforms/verification-checks).", "items" : { "$ref" : "#/components/schemas/PayoutMethod" }, "type" : "array" }, + "principalBusinessAddress" : { + "x-addedInVersion" : 6, + "description" : "The prinicipal business address of the account holder.", + "$ref" : "#/components/schemas/ViasAddress" + }, "webAddress" : { "description" : "The URL of the website of the account holder.", "type" : "string" @@ -811,10 +896,12 @@ "$ref" : "#/components/schemas/AccountHolderPayoutNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -871,10 +958,12 @@ "type" : "string" }, "estimatedArrivalDate" : { + "x-addedInVersion" : 5, "description" : "The estimated date of arrival.", "$ref" : "#/components/schemas/LocalDate" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -882,37 +971,46 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The merchant reference.", "type" : "string" }, "originalPspReference" : { + "x-addedInVersion" : 5, "description" : "The PSP reference of the original payout.", "type" : "string" }, "payoutAccountCountry" : { + "x-addedInVersion" : 6, "description" : "Payout account country.", "type" : "string" }, "payoutAccountNumber" : { + "x-addedInVersion" : 6, "description" : "Payout bank account number.", "type" : "string" }, "payoutBankName" : { + "x-addedInVersion" : 6, "description" : "Payout bank name.", "type" : "string" }, "payoutBranchCode" : { + "x-addedInVersion" : 6, "description" : "Payout branch code.", "type" : "string" }, "payoutReference" : { + "x-addedInVersion" : 6, "description" : "Payout transaction id.", "format" : "int64", "type" : "integer" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -971,10 +1069,12 @@ "$ref" : "#/components/schemas/AccountHolderStatusChangeNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1011,29 +1111,20 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" }, "type" : "array" }, - "newStatus" : { - "description" : "The new status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, - "oldStatus" : { - "description" : "The former status of the account holder.", - "$ref" : "#/components/schemas/AccountHolderStatus" - }, "reason" : { "description" : "The reason for the status change.", "type" : "string" } }, "required" : [ - "accountHolderCode", - "oldStatus", - "newStatus" + "accountHolderCode" ] }, "AccountHolderStoreStatusChangeNotification" : { @@ -1043,10 +1134,12 @@ "$ref" : "#/components/schemas/AccountHolderStoreStatusChangeNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1079,10 +1172,12 @@ "AccountHolderStoreStatusChangeNotificationContent" : { "properties" : { "accountHolderCode" : { + "x-addedInVersion" : 5, "description" : "The code of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "In case the store status has not been updated, contains fields that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1090,6 +1185,7 @@ "type" : "array" }, "newStatus" : { + "x-addedInVersion" : 5, "description" : "The new status of the account holder.", "enum" : [ "Active", @@ -1101,6 +1197,7 @@ "type" : "string" }, "oldStatus" : { + "x-addedInVersion" : 5, "description" : "The former status of the account holder.", "enum" : [ "Active", @@ -1112,14 +1209,17 @@ "type" : "string" }, "reason" : { + "x-addedInVersion" : 5, "description" : "The reason for the status change.", "type" : "string" }, "store" : { + "x-addedInVersion" : 5, "description" : "Alphanumeric identifier of the store.", "type" : "string" }, "storeReference" : { + "x-addedInVersion" : 5, "description" : "Store store reference.", "type" : "string" } @@ -1139,10 +1239,12 @@ "$ref" : "#/components/schemas/AccountHolderUpcomingDeadlineNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1182,17 +1284,19 @@ "description" : "The event name that will be trigger if no action is taken.", "enum" : [ "AccessPii", + "ApiTierUpdate", "CloseAccount", "CloseStores", "DeleteBankAccounts", - "DeletePayoutInstrumentTokens", "DeletePayoutMethods", "DeleteShareholders", "InactivateAccount", + "KYCDeadlineExtension", "RecalculateAccountStatusAndProcessingTier", "RefundNotPaidOutTransfers", "ResolveEvents", "SaveAccountHolder", + "SaveCriminalityAndPEPChecks", "SaveKYCCheckStatus", "SuspendAccount", "UnSuspendAccount", @@ -1203,7 +1307,8 @@ }, "executionDate" : { "description" : "The execution date scheduled for the event.", - "$ref" : "#/components/schemas/LocalDate" + "format" : "date-time", + "type" : "string" }, "reason" : { "description" : "The reason that leads to scheduling of the event.", @@ -1218,10 +1323,12 @@ "$ref" : "#/components/schemas/UpdateAccountHolderResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1259,10 +1366,12 @@ "$ref" : "#/components/schemas/AccountHolderVerificationNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1300,10 +1409,12 @@ "type" : "string" }, "kycCheckStatusData" : { + "x-addedInVersion" : 5, "description" : "Information on the verification status", "$ref" : "#/components/schemas/KYCCheckStatusData" }, "payoutMethodCode" : { + "x-addedInVersion" : 6, "description" : "The unique code of the payout method that has been verified.", "type" : "string" }, @@ -1331,6 +1442,7 @@ "type" : "boolean" }, "notAllowedReason" : { + "x-addedInVersion" : 5, "description" : "The reason why payouts (to all of the account holder's accounts) have been disabled (by Adyen). If payouts have been disabled by Adyen, this field will explain why. If this field is blank, payouts have not been disabled by Adyen.", "type" : "string" }, @@ -1339,6 +1451,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The payout tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1364,6 +1477,7 @@ "$ref" : "#/components/schemas/Amount" }, "tierNumber" : { + "x-addedInVersion" : 3, "description" : "The processing tier that the account holder occupies.", "format" : "int32", "type" : "integer" @@ -1377,10 +1491,12 @@ "$ref" : "#/components/schemas/UpdateAccountResponse" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1420,7 +1536,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -1445,6 +1561,7 @@ "type" : "string" }, "bankAccountReference" : { + "x-addedInVersion" : 5, "description" : "Merchant reference to the bank account.", "type" : "string" }, @@ -1545,10 +1662,12 @@ "$ref" : "#/components/schemas/BeneficiarySetupNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1590,6 +1709,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A listing of the invalid fields which have caused the Setup Beneficiary request to fail. If this is empty, the Setup Beneficiary request has succeeded.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1633,6 +1753,7 @@ "type" : "string" }, "registrationNumber" : { + "x-addedInVersion" : 4, "description" : "The registration number of the company.", "type" : "string" }, @@ -1644,14 +1765,17 @@ "type" : "array" }, "stockExchange" : { + "x-addedInVersion" : 6, "description" : "Market Identifier Code (MIC).", "type" : "string" }, "stockNumber" : { + "x-addedInVersion" : 6, "description" : "International Securities Identification Number (ISIN).", "type" : "string" }, "stockTicker" : { + "x-addedInVersion" : 6, "description" : "Stock Ticker symbol.", "type" : "string" }, @@ -1664,10 +1788,12 @@ "CloseAccountResponse" : { "properties" : { "accountCode" : { + "x-addedInVersion" : 5, "description" : "The account code of the account that is closed.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1683,6 +1809,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The new status of the account.\n>Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.", "enum" : [ "Active", @@ -1694,7 +1821,6 @@ } }, "required" : [ - "pspReference", "status" ] }, @@ -1705,10 +1831,12 @@ "$ref" : "#/components/schemas/CompensateNegativeBalanceNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1789,14 +1917,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The status of the new account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the new account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccountHolder` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1804,6 +1935,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The type of legal entity of the new account holder.", "enum" : [ "Business", @@ -1815,6 +1947,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -1827,16 +1960,17 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } }, "required" : [ - "pspReference", "accountHolderCode", "accountHolderStatus", "accountHolderDetails", @@ -1854,11 +1988,18 @@ "description" : "The code of the account holder.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/createAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -1866,18 +2007,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -1892,6 +2042,7 @@ "type" : "string" }, "status" : { + "x-addedInVersion" : 2, "description" : "The status of the account.\n>Permitted values: `Active`.", "enum" : [ "Active", @@ -1903,7 +2054,6 @@ } }, "required" : [ - "pspReference", "accountHolderCode", "accountCode", "status" @@ -1916,10 +2066,12 @@ "$ref" : "#/components/schemas/DirectDebitInitiatedNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -1963,10 +2115,24 @@ "description" : "The date of the debit initiation.", "$ref" : "#/components/schemas/LocalDate" }, + "invalidFields" : { + "description" : "Invalid fields list.", + "items" : { + "$ref" : "#/components/schemas/ErrorFieldType" + }, + "type" : "array" + }, "merchantAccountCode" : { "description" : "The code of the merchant account.", "type" : "string" }, + "splits" : { + "description" : "The split data for the debit request", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, "status" : { "description" : "Direct debit status.", "$ref" : "#/components/schemas/OperationStatus" @@ -2027,6 +2193,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -2047,6 +2214,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -2058,7 +2226,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -2090,8 +2270,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -2110,7 +2295,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -2132,7 +2318,7 @@ } } }, - "KYCCheckResult" : { + "KYCCheckResult2" : { "properties" : { "checks" : { "description" : "A list of the checks and their statuses.", @@ -2177,10 +2363,17 @@ "BANK_ACCOUNT_VERIFICATION", "CARD_VERIFICATION", "COMPANY_VERIFICATION", + "CRIMINAL_BACKGROUND_EXTENSIVE_VERIFICATION", + "CRIMINAL_BACKGROUND_MEDIUM_VERIFICATION", "IDENTITY_VERIFICATION", + "LEGAL_ARRANGEMENT_VERIFICATION", "NONPROFIT_VERIFICATION", "PASSPORT_VERIFICATION", - "PAYOUT_METHOD_VERIFICATION" + "PAYOUT_METHOD_VERIFICATION", + "PCI_SELF_ASSESSMENT_PRESENCE_VERIFICATION", + "PCI_VERIFICATION", + "POLITICALLY_EXPOSED_IDENTIFICATION_VERIFICATION", + "POLITICALLY_EXPOSED_VERIFICATION" ], "type" : "string" } @@ -2193,11 +2386,13 @@ "KYCCheckSummary" : { "properties" : { "kycCheckCode" : { + "x-addedInVersion" : 5, "description" : "The code of the check.", "format" : "int32", "type" : "integer" }, "kycCheckDescription" : { + "x-addedInVersion" : 5, "description" : "A description of the check.", "type" : "string" } @@ -2233,13 +2428,14 @@ } } }, - "KYCVerificationResult" : { + "KYCVerificationResult2" : { "properties" : { "accountHolder" : { "description" : "The result(s) of the checks on the account holder.", - "$ref" : "#/components/schemas/KYCCheckResult" + "$ref" : "#/components/schemas/KYCCheckResult2" }, "payoutMethods" : { + "x-addedInVersion" : 6, "description" : "The result(s) of the checks on the payout method(s).", "items" : { "$ref" : "#/components/schemas/KYCPayoutMethodCheckResult" @@ -2318,10 +2514,12 @@ "$ref" : "#/components/schemas/PaymentFailureNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2474,10 +2672,12 @@ "$ref" : "#/components/schemas/RefundFundsTransferNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2515,6 +2715,7 @@ "$ref" : "#/components/schemas/Amount" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2566,10 +2767,12 @@ "$ref" : "#/components/schemas/ReportAvailableNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2632,10 +2835,12 @@ "$ref" : "#/components/schemas/ScheduledRefundsNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2677,6 +2882,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2716,12 +2922,16 @@ "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" }, + "jobTitle" : { + "description" : "Job title of the shareholder. Required when the `shareholderType` is **Control**.\n\nExample values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.", + "type" : "string" + }, "name" : { "description" : "The name of the contact.", "$ref" : "#/components/schemas/ViasName" }, "personalData" : { - "description" : "Personal data of the Shareholder.", + "description" : "Contains information about the shareholder.", "$ref" : "#/components/schemas/ViasPersonalData" }, "phoneNumber" : { @@ -2729,11 +2939,20 @@ "$ref" : "#/components/schemas/ViasPhoneNumber" }, "shareholderCode" : { - "description" : "The unique identifier (UUID) of the Shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", + "description" : "The unique identifier (UUID) of the shareholder.\n>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**\n\n>**If, during an Account Holder create request, a UUID is provided, the creation of the Shareholder will fail while the creation of the Account Holder will continue.**\n\n>**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**\n\n>**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**\n", "type" : "string" }, "shareholderReference" : { - "description" : "Merchant reference to the Shareholder.", + "x-addedInVersion" : 5, + "description" : "Your reference for the shareholder.", + "type" : "string" + }, + "shareholderType" : { + "description" : "The type of shareholder. \n\nPossible values: \n\n* **Ownership**: Individuals who directly or indirectly own 25% or more of a company.\n\n* **Control**: Individuals who are members of senior management staff responsible for managing the company.", + "enum" : [ + "Control", + "Ownership" + ], "type" : "string" }, "webAddress" : { @@ -2742,6 +2961,61 @@ } } }, + "Split" : { + "properties" : { + "account" : { + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", + "type" : "string" + }, + "amount" : { + "description" : "The amount of this split.", + "$ref" : "#/components/schemas/SplitAmount" + }, + "description" : { + "description" : "A description of this split.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", + "type" : "string" + }, + "type" : { + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "MarketPlace", + "PaymentFee", + "VAT", + "Verification" + ], + "type" : "string" + } + }, + "required" : [ + "amount", + "type" + ] + }, + "SplitAmount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).\n\nIf this value is not provided, the currency in which the payment is made will be used.", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, "Transaction" : { "properties" : { "amount" : { @@ -2786,10 +3060,12 @@ "type" : "string" }, "paymentPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related authorisation or transfer.", "type" : "string" }, "payoutPspReference" : { + "x-addedInVersion" : 3, "description" : "The psp reference of the related payout.", "type" : "string" }, @@ -2802,7 +3078,7 @@ "type" : "string" }, "transactionStatus" : { - "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", + "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.", "enum" : [ "Chargeback", "ChargebackCorrection", @@ -2817,15 +3093,24 @@ "CreditFailed", "CreditReversed", "CreditReversedReceived", + "CreditSuspended", "Credited", "DebitFailed", "DebitReversedReceived", "Debited", "DebitedReversed", + "DepositCorrectionCredited", + "DepositCorrectionDebited", "Fee", "FundTransfer", "FundTransferReversed", + "InvoiceDeductionCredited", + "InvoiceDeductionDebited", "ManualCorrected", + "ManualCorrectionCredited", + "ManualCorrectionDebited", + "MerchantPayin", + "MerchantPayinReversed", "Payout", "PayoutReversed", "PendingCredit", @@ -2849,10 +3134,12 @@ "$ref" : "#/components/schemas/TransferFundsNotificationContent" }, "error" : { + "x-addedInVersion" : 5, "description" : "Error information of failed request. No value provided here if no error occurred on processing.", "$ref" : "#/components/schemas/NotificationErrorContainer" }, "eventDate" : { + "x-addedInVersion" : 4, "description" : "The date and time when an event has been completed.", "format" : "date-time", "type" : "string" @@ -2894,6 +3181,7 @@ "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Invalid fields list.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2901,6 +3189,7 @@ "type" : "array" }, "merchantReference" : { + "x-addedInVersion" : 2, "description" : "The reference provided by the merchant.", "type" : "string" }, @@ -2935,14 +3224,17 @@ "$ref" : "#/components/schemas/AccountHolderDetails" }, "accountHolderStatus" : { + "x-addedInVersion" : 2, "description" : "The new status of the account holder.", "$ref" : "#/components/schemas/AccountHolderStatus" }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account holder.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "in case the account holder has not been updated, contains account holder fields, that did not pass the validation.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -2950,6 +3242,7 @@ "type" : "array" }, "legalEntity" : { + "x-addedInVersion" : 4, "description" : "The legal entity of the account holder.", "enum" : [ "Business", @@ -2961,6 +3254,7 @@ "type" : "string" }, "primaryCurrency" : { + "x-addedInVersion" : 5, "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals.", "type" : "string" }, @@ -2973,16 +3267,17 @@ "type" : "string" }, "verification" : { + "x-addedInVersion" : 2, "description" : "The details of KYC Verification of the account holder.", - "$ref" : "#/components/schemas/KYCVerificationResult" + "$ref" : "#/components/schemas/KYCVerificationResult2" }, "verificationProfile" : { + "x-addedInVersion" : 6, "description" : "The identifier of the profile that applies to this entity.", "type" : "string" } }, "required" : [ - "pspReference", "accountHolderStatus", "verification", "legalEntity" @@ -2994,11 +3289,18 @@ "description" : "The code of the account.", "type" : "string" }, + "bankAccountUUID" : { + "x-addedInVersion" : 5, + "description" : "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.", + "type" : "string" + }, "description" : { + "x-addedInVersion" : 4, "description" : "The description of the account.", "type" : "string" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "A list of fields that caused the `/updateAccount` request to fail.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -3006,18 +3308,27 @@ "type" : "array" }, "metadata" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, + "description" : "A set of key and value pairs containing metadata.", "type" : "object" }, + "payoutMethodCode" : { + "x-addedInVersion" : 5, + "description" : "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.", + "type" : "string" + }, "payoutSchedule" : { "description" : "The payout schedule of the account.", "$ref" : "#/components/schemas/PayoutScheduleResponse" }, "payoutSpeed" : { + "x-addedInVersion" : 5, "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.", "enum" : [ + "INSTANT", "SAME_DAY", "STANDARD" ], @@ -3033,7 +3344,6 @@ } }, "required" : [ - "pspReference", "accountCode" ] }, @@ -3082,7 +3392,6 @@ "UNKNOWN" ], "maxLength" : 1, - "minLength" : 1, "type" : "string" }, "infix" : { @@ -3096,8 +3405,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "ViasPersonalData" : { @@ -3107,6 +3415,7 @@ "type" : "string" }, "documentData" : { + "x-addedInVersion" : 3, "description" : "Key value pairs of document type and identify numbers", "items" : { "$ref" : "#/components/schemas/PersonalDocumentData" @@ -3158,6 +3467,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v1.json b/json/NotificationConfigurationService-v1.json index 2985dc0..3a6840b 100644 --- a/json/NotificationConfigurationService-v1.json +++ b/json/NotificationConfigurationService-v1.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "1", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v1/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v1/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -398,6 +399,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -440,6 +442,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -487,6 +490,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -570,6 +574,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v2.json b/json/NotificationConfigurationService-v2.json index 9a655d8..03dd208 100644 --- a/json/NotificationConfigurationService-v2.json +++ b/json/NotificationConfigurationService-v2.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "2", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v2/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v2/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -398,6 +399,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -440,6 +442,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -487,6 +490,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -570,6 +574,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v3.json b/json/NotificationConfigurationService-v3.json index c24b40b..ecfd86d 100644 --- a/json/NotificationConfigurationService-v3.json +++ b/json/NotificationConfigurationService-v3.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "3", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v3/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v3/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -398,6 +399,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -440,6 +442,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -487,6 +490,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -570,6 +574,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v4.json b/json/NotificationConfigurationService-v4.json index 65cc6db..38af6c8 100644 --- a/json/NotificationConfigurationService-v4.json +++ b/json/NotificationConfigurationService-v4.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "4", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v4/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v4/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -398,6 +399,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -440,6 +442,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -487,6 +490,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -570,6 +574,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v5.json b/json/NotificationConfigurationService-v5.json index fc0fdec..8d69224 100644 --- a/json/NotificationConfigurationService-v5.json +++ b/json/NotificationConfigurationService-v5.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "5", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v5/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v5/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -291,6 +292,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -311,6 +313,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -322,7 +325,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -354,8 +369,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -374,7 +394,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -387,6 +408,7 @@ "GenericResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -413,6 +435,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -451,6 +474,7 @@ "$ref" : "#/components/schemas/NotificationConfigurationDetails" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -493,6 +517,7 @@ "type" : "array" }, "hmacSignatureKey" : { + "x-addedInVersion" : 5, "description" : "A string with which to salt the notification(s) before hashing. If this field is provided, a hash value will be included under the notification header `HmacSignature` and the hash protocol will be included under the notification header `Protocol`. A notification body along with its `hmacSignatureKey` and `Protocol` can be used to calculate a hash value; matching this hash value with the `HmacSignature` will ensure that the notification body has not been tampered with or corrupted.\n\n>Must be a 32-byte hex-encoded string (i.e. a string containing 64 hexadecimal characters; e.g. \"b0ea55c2fe60d4d1d605e9c385e0e7f7e6cafbb939ce07010f31a327a0871f27\").\n\nThe omission of this field will preclude the provision of the `HmacSignature` and `Protocol` headers in notification(s).", "type" : "string" }, @@ -539,6 +564,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -581,6 +607,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -628,6 +655,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -658,6 +686,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -714,6 +743,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/NotificationConfigurationService-v6.json b/json/NotificationConfigurationService-v6.json index 35d4485..a98dcd1 100644 --- a/json/NotificationConfigurationService-v6.json +++ b/json/NotificationConfigurationService-v6.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "6", + "x-publicVersion" : true, "title" : "Adyen for Platforms: Notification Configuration API", - "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/marketpay-notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v6/createNotificationConfiguration\n```", + "description" : "The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).\n## Authentication\nTo connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Notification Configuration API supports versioning of its endpoints through 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://cal-test.adyen.com/cal/services/Notification/v6/createNotificationConfiguration\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -291,6 +292,7 @@ "checkCode", "city", "companyRegistration", + "constitutionalDocument", "country", "countryCode", "currency", @@ -311,6 +313,7 @@ "drivingLicense", "email", "firstName", + "formType", "fullPhoneNumber", "gender", "hopWebserviceUser", @@ -322,7 +325,19 @@ "idNumber", "identityDocument", "individualDetails", + "jobTitle", "lastName", + "legalArrangement", + "legalArrangementCode", + "legalArrangementEntity", + "legalArrangementEntityCode", + "legalArrangementLegalForm", + "legalArrangementMember", + "legalArrangementName", + "legalArrangementReference", + "legalArrangementRegistrationNumber", + "legalArrangementTaxNumber", + "legalArrangementType", "legalBusinessName", "legalEntity", "legalEntityType", @@ -354,8 +369,13 @@ "schedule", "shareholder", "shareholderCode", + "shareholderType", "socialSecurityNumber", "sourceAccountCode", + "splitAccount", + "splitCurrency", + "splitValue", + "splits", "stateOrProvince", "status", "stockExchange", @@ -374,7 +394,8 @@ "value", "virtualAccount", "visaNumber", - "webAddress" + "webAddress", + "year" ], "type" : "string" }, @@ -387,6 +408,7 @@ "GenericResponse" : { "properties" : { "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -413,6 +435,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -451,6 +474,7 @@ "$ref" : "#/components/schemas/NotificationConfigurationDetails" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -493,6 +517,7 @@ "type" : "array" }, "hmacSignatureKey" : { + "x-addedInVersion" : 5, "description" : "A string with which to salt the notification(s) before hashing. If this field is provided, a hash value will be included under the notification header `HmacSignature` and the hash protocol will be included under the notification header `Protocol`. A notification body along with its `hmacSignatureKey` and `Protocol` can be used to calculate a hash value; matching this hash value with the `HmacSignature` will ensure that the notification body has not been tampered with or corrupted.\n\n>Must be a 32-byte hex-encoded string (i.e. a string containing 64 hexadecimal characters; e.g. \"b0ea55c2fe60d4d1d605e9c385e0e7f7e6cafbb939ce07010f31a327a0871f27\").\n\nThe omission of this field will preclude the provision of the `HmacSignature` and `Protocol` headers in notification(s).", "type" : "string" }, @@ -539,6 +564,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -581,6 +607,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -628,6 +655,7 @@ "enum" : [ "ACCOUNT_CLOSED", "ACCOUNT_CREATED", + "ACCOUNT_FUNDS_BELOW_THRESHOLD", "ACCOUNT_HOLDER_CREATED", "ACCOUNT_HOLDER_LIMIT_REACHED", "ACCOUNT_HOLDER_PAYOUT", @@ -658,6 +686,7 @@ "type" : "array" }, "invalidFields" : { + "x-addedInVersion" : 5, "description" : "Contains field validation errors that would prevent requests from being processed.", "items" : { "$ref" : "#/components/schemas/ErrorFieldType" @@ -714,6 +743,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v25.json b/json/PaymentService-v25.json index 5d6ab37..b95b232 100644 --- a/json/PaymentService-v25.json +++ b/json/PaymentService-v25.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "25", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v25/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v25/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -49,19 +50,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +105,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -94,19 +130,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +185,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -122,7 +193,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -139,19 +210,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +265,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -167,49 +273,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -226,35 +290,70 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } }, - "/refund" : { + "/capture" : { "post" : { - "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", - "operationId" : "post-refund", + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", "x-groupName" : "Modifications", - "x-sortIndex" : 3, + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CaptureRequest" } } } @@ -270,17 +369,135 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/refund" : { + "post" : { + "summary" : "Refunds a captured payment.", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", + "operationId" : "post-refund", + "x-groupName" : "Modifications", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RefundRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -289,6 +506,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -296,7 +514,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -312,17 +530,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -333,11 +589,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -345,7 +601,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -572,13 +832,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -811,6 +1079,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -820,7 +1116,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -954,6 +1250,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1021,6 +1321,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1150,6 +1526,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1178,6 +1555,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1203,6 +1581,272 @@ "acceptHeader" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1373,88 +2017,6 @@ "value" ] }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -1482,7 +2044,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -1490,17 +2056,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1512,8 +2067,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { @@ -1523,10 +2077,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1536,6 +2090,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1560,6 +2117,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1567,7 +2127,8 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -1578,14 +2139,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1595,6 +2158,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1608,15 +2172,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1630,10 +2197,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1642,10 +2211,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1657,6 +2228,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1686,11 +2258,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1704,15 +2276,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1720,20 +2294,24 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, @@ -1753,10 +2331,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1766,6 +2344,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1790,6 +2371,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1797,26 +2381,30 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1830,11 +2418,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -1844,10 +2434,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1860,10 +2452,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1899,11 +2493,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1917,15 +2511,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1933,20 +2529,24 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, @@ -1962,9 +2562,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -1972,6 +2575,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -1991,7 +2597,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2030,7 +2637,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2051,7 +2658,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2064,6 +2671,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2073,6 +2681,106 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2400,7 +3108,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2408,7 +3116,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2453,6 +3161,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -2498,6 +3226,96 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -2510,6 +3328,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v30.json b/json/PaymentService-v30.json index 7506ca2..ae8d1ce 100644 --- a/json/PaymentService-v30.json +++ b/json/PaymentService-v30.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "30", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v30/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v30/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -167,7 +274,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -184,19 +291,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +346,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -212,7 +354,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -228,17 +370,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -246,7 +426,7 @@ "/capture" : { "post" : { "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", "operationId" : "post-capture", "x-groupName" : "Modifications", "x-sortIndex" : 1, @@ -254,7 +434,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CaptureRequest" } } } @@ -271,19 +451,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -291,7 +506,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -299,49 +514,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/technicalCancel" : { - "post" : { - "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", - "operationId" : "post-technicalCancel", - "x-groupName" : "Modifications", - "x-sortIndex" : 5, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -358,19 +531,135 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/technicalCancel" : { + "post" : { + "summary" : "Cancels a payment using your custom reference.", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, + "operationId" : "post-technicalCancel", + "x-groupName" : "Modifications", + "x-sortIndex" : 5, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TechnicalCancelRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -379,6 +668,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -386,7 +676,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -402,17 +692,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -423,11 +751,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -435,7 +763,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -662,13 +994,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -901,6 +1241,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -910,7 +1278,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1044,6 +1412,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1111,6 +1483,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1214,6 +1662,103 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1240,6 +1785,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1268,6 +1814,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1293,6 +1840,287 @@ "acceptHeader" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1463,92 +2291,6 @@ "value" ] }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -1576,7 +2318,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -1584,17 +2330,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1606,8 +2341,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { @@ -1617,10 +2351,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1630,6 +2364,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1654,6 +2391,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1661,7 +2401,8 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -1672,14 +2413,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1689,6 +2432,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1702,15 +2446,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1724,10 +2471,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1736,10 +2485,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1751,6 +2502,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1764,6 +2516,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1789,11 +2542,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1807,15 +2560,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1823,20 +2578,24 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, @@ -1856,10 +2615,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1869,6 +2628,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1893,6 +2655,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1900,26 +2665,30 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1933,11 +2702,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -1947,10 +2718,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1963,10 +2736,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1986,6 +2761,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2011,11 +2787,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2029,15 +2805,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2045,20 +2823,24 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, @@ -2074,9 +2856,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2084,6 +2869,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2103,7 +2891,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2142,7 +2931,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2163,7 +2952,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2176,6 +2965,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2185,6 +2975,111 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2512,7 +3407,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2520,7 +3415,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2565,6 +3460,118 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { @@ -2610,6 +3617,101 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -2622,6 +3724,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v40.json b/json/PaymentService-v40.json index d7bb422..5b93e8e 100644 --- a/json/PaymentService-v40.json +++ b/json/PaymentService-v40.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "40", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v40/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v40/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -381,7 +668,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -389,7 +676,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -405,17 +692,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -424,6 +749,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -448,19 +774,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -468,7 +829,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -476,7 +838,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -514,6 +911,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -537,17 +935,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -676,11 +1112,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -688,7 +1124,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -915,13 +1355,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1154,6 +1602,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1163,7 +1639,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1297,6 +1773,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1364,6 +1844,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1467,6 +2023,111 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1521,6 +2182,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1549,6 +2211,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1563,34 +2226,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1613,6 +2283,311 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1696,7 +2671,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1723,22 +2700,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -1942,99 +2919,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2062,7 +2946,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2070,17 +2958,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2092,13 +2969,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2107,10 +2984,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2120,6 +2997,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2144,6 +3024,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2151,13 +3034,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2166,14 +3051,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2183,6 +3070,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2196,15 +3084,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2218,10 +3109,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2230,14 +3123,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2249,6 +3145,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2262,6 +3159,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2287,11 +3185,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2305,15 +3203,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2321,37 +3221,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2365,6 +3272,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2373,10 +3281,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2386,6 +3294,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2410,6 +3321,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2417,30 +3331,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2454,11 +3373,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2468,10 +3389,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2484,14 +3407,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2511,6 +3437,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2536,11 +3463,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2554,15 +3481,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2570,37 +3499,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2614,6 +3550,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2622,10 +3559,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2635,6 +3572,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2659,6 +3599,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2666,30 +3609,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2703,11 +3651,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2717,10 +3667,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2729,14 +3681,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2752,6 +3707,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2777,11 +3733,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2795,15 +3751,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2811,28 +3769,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2844,12 +3807,14 @@ "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2863,9 +3828,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2873,6 +3841,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2892,7 +3863,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2931,7 +3903,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2952,7 +3924,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2965,15 +3937,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2983,6 +3958,119 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3310,7 +4398,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3318,7 +4406,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3383,6 +4471,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3402,7 +4510,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3414,11 +4522,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3445,7 +4553,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3454,11 +4562,111 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3501,7 +4709,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3519,11 +4727,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3627,6 +4835,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3635,6 +4844,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3644,6 +4854,109 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3656,6 +4969,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v46.json b/json/PaymentService-v46.json index dbbba07..c0967b3 100644 --- a/json/PaymentService-v46.json +++ b/json/PaymentService-v46.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "46", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v46/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v46/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -381,7 +668,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -389,7 +676,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -405,17 +692,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -424,6 +749,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -448,19 +774,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -468,7 +829,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -476,7 +838,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -514,6 +911,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -537,17 +935,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -676,11 +1112,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -688,7 +1124,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -915,13 +1355,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1154,6 +1602,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1163,7 +1639,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1297,6 +1773,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1364,6 +1844,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1467,6 +2023,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1521,6 +2187,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1549,6 +2216,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1563,34 +2231,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1613,6 +2288,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1696,7 +2691,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1723,22 +2720,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -1942,103 +2939,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2066,7 +2966,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2074,17 +2978,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2096,13 +2989,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2111,10 +3004,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2124,6 +3017,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2148,6 +3044,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2155,13 +3054,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2170,14 +3071,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2187,6 +3090,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2200,15 +3104,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2222,10 +3129,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2234,14 +3143,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2253,6 +3165,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2266,6 +3179,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2291,11 +3205,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2309,15 +3223,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2325,37 +3241,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2369,6 +3292,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2377,10 +3301,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2390,6 +3314,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2414,6 +3341,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2421,30 +3351,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2458,11 +3393,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2472,10 +3409,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2488,14 +3427,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2515,6 +3457,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2540,11 +3483,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2558,15 +3501,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2574,37 +3519,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2618,6 +3570,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2626,10 +3579,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2639,6 +3592,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2663,6 +3619,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2670,30 +3629,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2707,11 +3671,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2721,10 +3687,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2733,14 +3701,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2756,6 +3727,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2781,11 +3753,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2799,15 +3771,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2815,28 +3789,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2848,12 +3827,14 @@ "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2867,9 +3848,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2877,6 +3861,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2896,7 +3883,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2935,7 +3923,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2956,7 +3944,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2969,15 +3957,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2987,6 +3978,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3314,7 +4423,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3322,7 +4431,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3387,6 +4496,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3406,7 +4543,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3418,11 +4555,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3449,7 +4586,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3458,11 +4595,116 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3505,7 +4747,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3523,11 +4765,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3631,6 +4873,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3639,6 +4882,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3648,6 +4892,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3660,6 +5012,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v49.json b/json/PaymentService-v49.json index 61281dd..41f9a4b 100644 --- a/json/PaymentService-v49.json +++ b/json/PaymentService-v49.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "49", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v49/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v49/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -381,7 +668,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -389,7 +676,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -405,17 +692,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -424,6 +749,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -448,19 +774,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -468,7 +829,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -476,7 +838,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -514,6 +911,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -537,17 +935,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -676,11 +1112,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -688,7 +1124,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -915,13 +1355,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1154,6 +1602,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1163,7 +1639,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1297,6 +1773,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1364,6 +1844,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1467,6 +2023,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1521,6 +2187,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1549,6 +2216,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1563,34 +2231,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1613,6 +2288,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1696,7 +2691,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1723,22 +2720,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -1942,103 +2939,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2066,7 +2966,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2074,17 +2978,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2096,13 +2989,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2111,10 +3004,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2124,6 +3017,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2148,6 +3044,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2155,13 +3054,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2170,14 +3071,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2187,6 +3090,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2200,15 +3104,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2222,10 +3129,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2234,14 +3143,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2253,6 +3165,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2266,6 +3179,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2291,11 +3205,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2309,15 +3223,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2325,37 +3241,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2369,6 +3292,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2377,10 +3301,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2390,6 +3314,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2414,6 +3341,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2421,30 +3351,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2458,11 +3393,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2472,10 +3409,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2488,14 +3427,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2515,6 +3457,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2540,11 +3483,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2558,15 +3501,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2574,37 +3519,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2618,6 +3570,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2626,10 +3579,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2639,6 +3592,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2663,6 +3619,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2670,30 +3629,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2707,11 +3671,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2721,10 +3687,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2733,14 +3701,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2756,6 +3727,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2781,11 +3753,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2799,15 +3771,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2815,28 +3789,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2848,12 +3827,14 @@ "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2867,9 +3848,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2877,6 +3861,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2896,7 +3883,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2935,7 +3923,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2956,7 +3944,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2969,15 +3957,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2987,6 +3978,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3314,7 +4423,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3322,7 +4431,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3387,6 +4496,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3406,7 +4543,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3418,11 +4555,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3449,7 +4586,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3458,19 +4595,126 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3492,11 +4736,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3521,7 +4767,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3539,11 +4785,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3551,6 +4797,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3574,6 +4821,7 @@ "type" : "string" }, "messageVersion" : { + "x-addedInVersion" : 49, "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", "type" : "string" }, @@ -3594,6 +4842,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", "type" : "string" } @@ -3659,6 +4908,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3667,6 +4917,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3676,6 +4927,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3688,6 +5047,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v50.json b/json/PaymentService-v50.json index 9b43c65..7a0890a 100644 --- a/json/PaymentService-v50.json +++ b/json/PaymentService-v50.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "50", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v50/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v50/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -381,7 +668,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -389,7 +676,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -405,17 +692,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -424,6 +749,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -448,19 +774,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -468,7 +829,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -476,7 +838,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -514,6 +911,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -537,17 +935,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -589,6 +1025,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -685,11 +1122,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -697,7 +1134,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -924,13 +1365,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1163,6 +1612,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1172,7 +1649,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1306,6 +1783,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1373,6 +1854,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1476,6 +2033,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1530,6 +2197,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1558,6 +2226,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1572,34 +2241,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1622,6 +2298,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1705,7 +2701,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1732,22 +2730,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -1951,103 +2949,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2075,7 +2976,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2083,17 +2988,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2105,13 +2999,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2120,10 +3014,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2133,6 +3027,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2157,6 +3054,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2164,13 +3064,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2179,14 +3081,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2196,6 +3100,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2209,15 +3114,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2231,10 +3139,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2243,14 +3153,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2262,6 +3175,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2275,6 +3189,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2300,11 +3215,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2318,15 +3233,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2334,42 +3251,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2383,6 +3308,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2391,10 +3317,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2404,6 +3330,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2428,6 +3357,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2435,30 +3367,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2472,11 +3409,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2486,10 +3425,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2502,14 +3443,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2529,6 +3473,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2554,11 +3499,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2572,15 +3517,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2588,42 +3535,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2637,6 +3592,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2645,10 +3601,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2658,6 +3614,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2682,6 +3641,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2689,30 +3651,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2726,11 +3693,13 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, @@ -2740,10 +3709,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2752,14 +3723,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2775,6 +3749,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2800,11 +3775,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2818,15 +3793,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2834,28 +3811,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2867,17 +3849,20 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2891,9 +3876,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2901,6 +3889,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2920,7 +3911,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2959,7 +3951,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2980,7 +3972,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2993,15 +3985,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -3011,6 +4006,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3338,7 +4451,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3346,7 +4459,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3411,6 +4524,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3430,7 +4571,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3442,11 +4583,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3473,7 +4614,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3482,22 +4623,129 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3519,11 +4767,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3548,7 +4798,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3566,11 +4816,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3578,6 +4828,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3589,6 +4840,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3604,6 +4856,7 @@ "type" : "string" }, "cavvAlgorithm" : { + "x-addedInVersion" : 50, "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", "type" : "string" }, @@ -3616,6 +4869,7 @@ "type" : "string" }, "messageVersion" : { + "x-addedInVersion" : 49, "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", "type" : "string" }, @@ -3636,6 +4890,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", "type" : "string" } @@ -3701,6 +4956,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3709,6 +4965,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3718,6 +4975,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3730,6 +5095,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v51.json b/json/PaymentService-v51.json index 03fefb6..c9f29ee 100644 --- a/json/PaymentService-v51.json +++ b/json/PaymentService-v51.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "51", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v51/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v51/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -382,6 +669,7 @@ "post" : { "summary" : "Return the authentication result after doing a 3D Secure authentication only.", "description" : "Return the authentication result after doing a 3D Secure authentication only.", + "x-addedInVersion" : 51, "operationId" : "post-getAuthenticationResult", "x-groupName" : "General", "x-sortIndex" : 4, @@ -406,19 +694,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -426,7 +749,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -434,7 +757,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -450,17 +773,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -469,6 +830,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -513,7 +910,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -538,19 +936,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -559,6 +992,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -566,7 +1000,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -582,17 +1016,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -634,6 +1106,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,11 +1203,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -742,7 +1215,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -969,13 +1446,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1208,6 +1693,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1217,7 +1730,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1351,6 +1864,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1418,6 +1935,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1521,6 +2114,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1603,6 +2306,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1631,6 +2335,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1645,34 +2350,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1695,6 +2407,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1778,7 +2810,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1805,22 +2839,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -2024,103 +3058,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2148,7 +3085,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2156,17 +3097,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2178,13 +3108,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2193,10 +3123,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2206,6 +3136,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2230,6 +3163,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2237,13 +3173,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2252,14 +3190,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2269,6 +3209,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2282,20 +3223,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2309,10 +3254,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2321,14 +3268,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2340,6 +3290,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2353,6 +3304,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2378,11 +3330,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2396,15 +3348,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2412,42 +3366,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2461,6 +3423,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2469,10 +3432,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2482,6 +3445,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2506,6 +3472,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2513,30 +3482,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2550,15 +3524,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2569,10 +3546,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2585,14 +3564,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2612,6 +3594,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2637,11 +3620,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2655,15 +3638,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2671,42 +3656,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2720,6 +3713,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2728,10 +3722,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2741,6 +3735,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2765,6 +3762,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2772,30 +3772,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2809,15 +3814,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2828,10 +3836,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2840,14 +3850,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2863,6 +3876,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2888,11 +3902,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2906,15 +3920,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2922,28 +3938,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2955,17 +3976,20 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2979,9 +4003,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2989,6 +4016,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -3008,7 +4038,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -3047,7 +4078,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3068,7 +4099,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -3081,15 +4112,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -3099,6 +4133,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3426,7 +4578,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3434,7 +4586,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3499,6 +4651,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3518,7 +4698,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3530,11 +4710,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3561,7 +4741,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3570,6 +4750,111 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS1Result" : { "properties" : { "cavv" : { @@ -3601,19 +4886,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3635,11 +4922,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3664,7 +4953,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3682,11 +4971,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3694,6 +4983,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3705,6 +4995,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3720,6 +5011,7 @@ "type" : "string" }, "cavvAlgorithm" : { + "x-addedInVersion" : 50, "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", "type" : "string" }, @@ -3732,6 +5024,7 @@ "type" : "string" }, "messageVersion" : { + "x-addedInVersion" : 49, "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", "type" : "string" }, @@ -3752,6 +5045,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", "type" : "string" } @@ -3817,6 +5111,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3825,6 +5120,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3834,6 +5130,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3846,6 +5250,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v52.json b/json/PaymentService-v52.json index 94f2920..313a270 100644 --- a/json/PaymentService-v52.json +++ b/json/PaymentService-v52.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "52", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v52/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v52/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -382,6 +669,7 @@ "post" : { "summary" : "Return the authentication result after doing a 3D Secure authentication only.", "description" : "Return the authentication result after doing a 3D Secure authentication only.", + "x-addedInVersion" : 51, "operationId" : "post-getAuthenticationResult", "x-groupName" : "General", "x-sortIndex" : 4, @@ -406,19 +694,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -426,7 +749,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -434,7 +757,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -450,17 +773,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -469,6 +830,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -513,7 +910,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -538,19 +936,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -559,6 +992,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -566,7 +1000,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -582,17 +1016,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -634,6 +1106,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,11 +1203,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -742,7 +1215,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -969,13 +1446,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1208,6 +1693,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1217,7 +1730,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1351,6 +1864,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1418,6 +1935,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1521,6 +2114,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1603,6 +2306,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1631,6 +2335,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1645,34 +2350,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1695,6 +2407,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1778,7 +2810,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1805,22 +2839,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -2024,103 +3058,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2148,7 +3085,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2156,17 +3097,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2178,13 +3108,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2193,10 +3123,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2206,6 +3136,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2230,6 +3163,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2237,13 +3173,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2252,14 +3190,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2269,6 +3209,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2282,20 +3223,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2309,18 +3254,20 @@ "type" : "integer" }, "fundingSource" : { - "description" : "How to process a combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", + "x-addedInVersion" : 52, + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "debit", - "credit" + "debit" ], "type" : "string" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2329,14 +3276,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2348,6 +3298,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2361,6 +3312,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2386,11 +3338,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2404,15 +3356,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2420,42 +3374,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2469,6 +3431,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2477,10 +3440,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2490,6 +3453,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2514,6 +3480,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2521,30 +3490,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2558,15 +3532,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2577,10 +3554,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2593,14 +3572,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2620,6 +3602,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2645,11 +3628,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2663,15 +3646,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2679,42 +3664,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2728,6 +3721,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2736,10 +3730,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2749,6 +3743,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2773,6 +3770,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2780,30 +3780,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2817,15 +3822,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2836,10 +3844,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2848,14 +3858,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2871,6 +3884,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2896,11 +3910,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2914,15 +3928,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2930,28 +3946,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2963,17 +3984,20 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2987,9 +4011,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2997,6 +4024,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -3016,7 +4046,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -3055,7 +4086,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3076,7 +4107,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -3089,15 +4120,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -3107,6 +4141,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3434,7 +4586,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3442,7 +4594,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3507,6 +4659,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3526,7 +4706,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3538,11 +4718,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3569,7 +4749,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3578,6 +4758,111 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS1Result" : { "properties" : { "cavv" : { @@ -3609,19 +4894,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3643,11 +4930,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3672,7 +4961,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3690,11 +4979,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3702,6 +4991,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3713,6 +5003,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3728,6 +5019,7 @@ "type" : "string" }, "cavvAlgorithm" : { + "x-addedInVersion" : 50, "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", "type" : "string" }, @@ -3740,6 +5032,7 @@ "type" : "string" }, "messageVersion" : { + "x-addedInVersion" : 49, "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", "type" : "string" }, @@ -3760,6 +5053,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", "type" : "string" } @@ -3825,6 +5119,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3833,6 +5128,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3842,6 +5138,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3854,6 +5258,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PaymentService-v64.json b/json/PaymentService-v64.json index d825097..1b89398 100644 --- a/json/PaymentService-v64.json +++ b/json/PaymentService-v64.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "64", + "x-publicVersion" : true, "title" : "Adyen Payment API", - "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v64/authorise\n```", + "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nTo connect to the Payments API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nPayments API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v64/authorise\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -24,7 +25,8 @@ "/adjustAuthorisation" : { "post" : { "summary" : "Increases or decreases the authorised amount.", - "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).", + "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc.\n\nFor more information, refer to [Adjust Authorisation](https://docs.adyen.com/online-payments/adjust-authorisation).", + "x-addedInVersion" : 30, "operationId" : "post-adjustAuthorisation", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -32,7 +34,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/AdjustAuthorisationRequest" } } } @@ -49,19 +51,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -69,7 +106,7 @@ "/authorise" : { "post" : { "summary" : "Creates a payment authorisation.", - "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n\nFor more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).", + "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.", "operationId" : "post-authorise", "x-groupName" : "General", "x-sortIndex" : 1, @@ -94,19 +131,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,7 +186,7 @@ "/authorise3d" : { "post" : { "summary" : "Completes a 3D Secure payment authorisation.", - "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\nFor more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).", + "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", "operationId" : "post-authorise3d", "x-groupName" : "General", "x-sortIndex" : 2, @@ -139,19 +211,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -159,7 +266,8 @@ "/authorise3ds2" : { "post" : { "summary" : "Completes a 3D Secure 2 payment authorisation.", - "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\nFor more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).", + "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.", + "x-addedInVersion" : 37, "operationId" : "post-authorise3ds2", "x-groupName" : "General", "x-sortIndex" : 3, @@ -184,19 +292,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -204,7 +347,7 @@ "/cancel" : { "post" : { "summary" : "Cancels an authorised payment.", - "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).", + "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).", "operationId" : "post-cancel", "x-groupName" : "Modifications", "x-sortIndex" : 2, @@ -212,7 +355,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelRequest" } } } @@ -229,19 +372,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -249,7 +427,7 @@ "/cancelOrRefund" : { "post" : { "summary" : "Cancels or refunds a payment.", - "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).", + "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\n> Do not use this request for payments that involve (multiple) partial captures.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/cancel-or-refund).", "operationId" : "post-cancelOrRefund", "x-groupName" : "Modifications", "x-sortIndex" : 4, @@ -257,49 +435,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/capture" : { - "post" : { - "summary" : "Captures an authorised payment.", - "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/checkout/capture).", - "operationId" : "post-capture", - "x-groupName" : "Modifications", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/CancelOrRefundRequest" } } } @@ -316,19 +452,134 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, + "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, + "/capture" : { + "post" : { + "summary" : "Captures an authorised payment.", + "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.\n\nFor more information, refer to [Capture](https://docs.adyen.com/online-payments/capture).", + "operationId" : "post-capture", + "x-groupName" : "Modifications", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CaptureRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ModificationResult" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -336,7 +587,8 @@ "/donate" : { "post" : { "summary" : "Creates a payment for the specified donation.", - "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/checkout/donate).", + "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\nFor more information, see [Donate](https://docs.adyen.com/online-payments/donate).", + "x-addedInVersion" : 40, "operationId" : "post-donate", "x-groupName" : "Modifications", "x-sortIndex" : 6, @@ -361,19 +613,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -382,6 +669,7 @@ "post" : { "summary" : "Return the authentication result after doing a 3D Secure authentication only.", "description" : "Return the authentication result after doing a 3D Secure authentication only.", + "x-addedInVersion" : 51, "operationId" : "post-getAuthenticationResult", "x-groupName" : "General", "x-sortIndex" : 4, @@ -406,19 +694,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -426,7 +749,7 @@ "/refund" : { "post" : { "summary" : "Refunds a captured payment.", - "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/checkout/refund).", + "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\n> Some payment methods/gateways do not support partial/multiple refunds.\n> A margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/refund).", "operationId" : "post-refund", "x-groupName" : "Modifications", "x-sortIndex" : 3, @@ -434,7 +757,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/RefundRequest" } } } @@ -450,17 +773,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -469,6 +830,7 @@ "post" : { "summary" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.", + "x-addedInVersion" : 40, "operationId" : "post-retrieve3ds2Result", "x-groupName" : "General", "x-sortIndex" : 4, @@ -493,19 +855,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -513,7 +910,8 @@ "/technicalCancel" : { "post" : { "summary" : "Cancels a payment using your custom reference.", - "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).", + "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/cancel#technical-cancel).", + "x-addedInVersion" : 30, "operationId" : "post-technicalCancel", "x-groupName" : "Modifications", "x-sortIndex" : 5, @@ -521,7 +919,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/TechnicalCancelRequest" } } } @@ -538,19 +936,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -559,6 +992,7 @@ "post" : { "summary" : "Cancels a POS refund request before it has been completed.", "description" : "This endpoint allows you to cancel the refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).", + "x-addedInVersion" : 25, "operationId" : "post-voidPendingRefund", "x-groupName" : "Modifications", "x-sortIndex" : 7, @@ -566,7 +1000,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/ModificationRequest" + "$ref" : "#/components/schemas/VoidPendingRefundRequest" } } } @@ -582,17 +1016,55 @@ }, "description" : "OK - the request has succeeded." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." + "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -634,6 +1106,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -730,11 +1203,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -742,7 +1215,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -969,13 +1446,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -1208,6 +1693,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -1217,7 +1730,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1351,6 +1864,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1418,6 +1935,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1521,6 +2114,116 @@ "country" ] }, + "AdjustAuthorisationRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1603,6 +2306,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1631,6 +2335,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1645,34 +2350,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1695,6 +2407,326 @@ "language" ] }, + "CancelOrRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalReference" + ] + }, + "CaptureRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, "Card" : { "properties" : { "cvc" : { @@ -1778,7 +2810,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1805,22 +2839,22 @@ "type" : "string" }, "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", "$ref" : "#/components/schemas/Amount" }, "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", "type" : "string" }, "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", "type" : "string" } }, "required" : [ "merchantAccount", - "originalReference", - "donationAccount" + "donationAccount", + "modificationAmount" ] }, "ExternalPlatform" : { @@ -1942,6 +2976,7 @@ "Installments" : { "properties" : { "plan" : { + "x-addedInVersion" : 64, "description" : "Defines the type of installment plan. If not set, defaults to **regular**.\n\nPossible values:\n* **regular**\n* **revolving**", "enum" : [ "regular", @@ -2032,103 +3067,6 @@ } } }, - "ModificationRequest" : { - "properties" : { - "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, - { - "$ref" : "#/components/schemas/AdditionalData3DSecure" - }, - { - "$ref" : "#/components/schemas/AdditionalDataAirline" - }, - { - "$ref" : "#/components/schemas/AdditionalDataCarRental" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLevel23" - }, - { - "$ref" : "#/components/schemas/AdditionalDataLodging" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" - }, - { - "$ref" : "#/components/schemas/AdditionalDataOpi" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRatepay" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRetry" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRisk" - }, - { - "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" - }, - { - "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" - }, - { - "$ref" : "#/components/schemas/AdditionalDataWallets" - }, - { - "$ref" : "#/components/schemas/AdditionalDataModifications" - } - ], - "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value." - }, - "merchantAccount" : { - "description" : "The merchant account that is used to process the payment.", - "type" : "string" - }, - "modificationAmount" : { - "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", - "$ref" : "#/components/schemas/Amount" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "originalMerchantReference" : { - "description" : "The original merchant reference to cancel.", - "type" : "string" - }, - "originalReference" : { - "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification", - "type" : "string" - }, - "reference" : { - "description" : "Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", - "type" : "string" - }, - "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", - "items" : { - "$ref" : "#/components/schemas/Split" - }, - "type" : "array" - }, - "tenderReference" : { - "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", - "type" : "string" - }, - "uniqueTerminalId" : { - "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "originalReference" - ] - }, "ModificationResult" : { "properties" : { "additionalData" : { @@ -2156,7 +3094,11 @@ ], "type" : "string" } - } + }, + "required" : [ + "response", + "pspReference" + ] }, "Name" : { "properties" : { @@ -2164,17 +3106,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -2186,13 +3117,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PaymentRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2201,10 +3132,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2214,6 +3145,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2238,6 +3172,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2245,13 +3182,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -2260,14 +3199,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -2277,6 +3218,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2290,20 +3232,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -2317,18 +3263,20 @@ "type" : "integer" }, "fundingSource" : { - "description" : "How to process a combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", + "x-addedInVersion" : 52, + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "debit", - "credit" + "debit" ], "type" : "string" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2337,14 +3285,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2356,6 +3307,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -2369,6 +3321,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2394,11 +3347,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2412,15 +3365,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2428,42 +3383,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2477,6 +3440,7 @@ "PaymentRequest3d" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2485,10 +3449,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2498,6 +3462,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2522,6 +3489,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2529,30 +3499,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2566,15 +3541,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2585,10 +3563,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2601,14 +3581,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2628,6 +3611,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2653,11 +3637,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2671,15 +3655,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2687,42 +3673,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2736,6 +3730,7 @@ "PaymentRequest3ds2" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -2744,10 +3739,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -2757,6 +3752,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -2781,6 +3779,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -2788,30 +3789,35 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -2825,15 +3831,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" @@ -2844,10 +3853,12 @@ "type" : "integer" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -2856,14 +3867,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -2879,6 +3893,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -2904,11 +3919,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -2922,15 +3937,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2938,28 +3955,33 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDS2Result" : { @@ -2971,17 +3993,20 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2995,9 +4020,12 @@ "PaymentResult" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -3005,6 +4033,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -3024,7 +4055,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -3063,7 +4095,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3084,7 +4116,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -3097,15 +4129,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -3115,6 +4150,124 @@ } } }, + "RefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "modificationAmount", + "originalReference" + ] + }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -3442,7 +4595,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -3450,7 +4603,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -3515,6 +4668,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -3534,7 +4715,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -3546,11 +4727,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -3577,7 +4758,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -3586,6 +4767,111 @@ "value" ] }, + "TechnicalCancelRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "originalMerchantReference" + ] + }, "ThreeDS1Result" : { "properties" : { "cavv" : { @@ -3617,19 +4903,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3651,11 +4939,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3680,7 +4970,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3698,11 +4988,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3710,6 +5000,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3721,6 +5012,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3736,6 +5028,7 @@ "type" : "string" }, "cavvAlgorithm" : { + "x-addedInVersion" : 50, "description" : "The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations.", "type" : "string" }, @@ -3748,6 +5041,7 @@ "type" : "string" }, "messageVersion" : { + "x-addedInVersion" : 49, "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.", "type" : "string" }, @@ -3768,6 +5062,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.", "type" : "string" } @@ -3833,6 +5128,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3841,6 +5137,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3850,6 +5147,114 @@ "type" : "string" } } + }, + "VoidPendingRefundRequest" : { + "properties" : { + "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataModifications" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpi" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.", + "type" : "object" + }, + "merchantAccount" : { + "description" : "The merchant account that is used to process the payment.", + "type" : "string" + }, + "modificationAmount" : { + "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.", + "$ref" : "#/components/schemas/Amount" + }, + "mpiData" : { + "x-addedInVersion" : 46, + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "originalMerchantReference" : { + "x-addedInVersion" : 30, + "description" : "The original merchant reference to cancel.", + "type" : "string" + }, + "originalReference" : { + "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n", + "type" : "string" + }, + "reference" : { + "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.", + "type" : "string" + }, + "splits" : { + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "tenderReference" : { + "x-addedInVersion" : 25, + "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.", + "type" : "string" + }, + "uniqueTerminalId" : { + "x-addedInVersion" : 25, + "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount" + ] } }, "securitySchemes" : { @@ -3862,6 +5267,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/PayoutService-v30.json b/json/PayoutService-v30.json index cafd213..ea9a256 100644 --- a/json/PayoutService-v30.json +++ b/json/PayoutService-v30.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "30", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -298,11 +589,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -310,7 +601,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -537,13 +832,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -768,6 +1071,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -777,7 +1108,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -911,6 +1242,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -978,6 +1313,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1107,6 +1518,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1135,6 +1547,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1413,17 +1826,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1435,8 +1837,7 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { @@ -1446,10 +1847,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1459,6 +1860,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1483,6 +1887,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1490,7 +1897,8 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -1501,14 +1909,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1518,6 +1928,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1531,15 +1942,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1557,10 +1971,12 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1569,10 +1985,12 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1584,6 +2002,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1597,6 +2016,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1622,11 +2042,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1640,15 +2060,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1656,20 +2078,24 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, @@ -1685,9 +2111,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -1695,6 +2124,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -1714,7 +2146,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -1753,7 +2186,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1774,7 +2207,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -1787,6 +2220,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -1796,6 +2230,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2123,7 +2565,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2131,7 +2573,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2176,6 +2618,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { @@ -2194,6 +2656,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2202,11 +2665,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2224,6 +2689,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2237,6 +2703,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2245,6 +2712,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2253,10 +2721,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2314,6 +2784,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2322,11 +2793,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2344,6 +2817,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2353,6 +2827,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2361,6 +2836,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2369,6 +2845,7 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2425,11 +2902,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2447,6 +2926,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2467,6 +2947,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2475,10 +2956,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2577,6 +3060,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/PayoutService-v40.json b/json/PayoutService-v40.json index 3c42e50..64fe0df 100644 --- a/json/PayoutService-v40.json +++ b/json/PayoutService-v40.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "40", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -416,11 +707,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -428,7 +719,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -655,13 +950,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -886,6 +1189,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -895,7 +1226,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1029,6 +1360,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1096,6 +1431,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1253,6 +1664,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1281,6 +1693,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1295,34 +1708,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1428,7 +1848,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1728,17 +2150,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1750,13 +2161,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1765,10 +2176,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1778,6 +2189,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1802,6 +2216,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1809,13 +2226,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -1824,14 +2243,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1841,6 +2262,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1854,15 +2276,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1880,10 +2305,12 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1892,14 +2319,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1911,6 +2341,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1924,6 +2355,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1949,11 +2381,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1967,15 +2399,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1983,37 +2417,44 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2027,9 +2468,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2037,6 +2481,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2056,7 +2503,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2095,7 +2543,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2116,7 +2564,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2129,15 +2577,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2147,6 +2598,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2474,7 +2933,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2482,7 +2941,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2547,6 +3006,26 @@ } } }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -2566,7 +3045,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -2578,11 +3057,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -2609,7 +3088,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -2636,6 +3115,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2644,11 +3124,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2666,6 +3148,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2679,6 +3162,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2687,6 +3171,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2695,10 +3180,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2756,6 +3243,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2764,11 +3252,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2786,6 +3276,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2795,6 +3286,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2803,6 +3295,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2811,6 +3304,7 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2867,11 +3361,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2889,6 +3385,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2909,6 +3406,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2917,10 +3415,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2965,8 +3465,8 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3009,7 +3509,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3027,11 +3527,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3079,6 +3579,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3087,6 +3588,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3108,6 +3610,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/PayoutService-v50.json b/json/PayoutService-v50.json index da14e31..2e82a61 100644 --- a/json/PayoutService-v50.json +++ b/json/PayoutService-v50.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "50", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -329,6 +620,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -425,11 +717,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -437,7 +729,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -664,13 +960,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -895,6 +1199,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -904,7 +1236,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1038,6 +1370,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1105,6 +1441,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1262,6 +1674,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1290,6 +1703,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1304,34 +1718,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1437,7 +1858,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1737,17 +2160,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1759,13 +2171,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1774,10 +2186,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1787,6 +2199,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1811,6 +2226,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1818,13 +2236,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -1833,14 +2253,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1850,6 +2272,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1863,15 +2286,18 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1889,10 +2315,12 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1901,14 +2329,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1920,6 +2351,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1933,6 +2365,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1958,11 +2391,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1976,15 +2409,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1992,42 +2427,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2041,9 +2484,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2051,6 +2497,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2070,7 +2519,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2109,7 +2559,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2130,7 +2580,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2143,15 +2593,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2161,6 +2614,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2488,7 +2949,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2496,7 +2957,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2561,6 +3022,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -2580,7 +3069,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -2592,11 +3081,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -2623,7 +3112,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -2650,6 +3139,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2658,11 +3148,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2680,6 +3172,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2693,6 +3186,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2701,6 +3195,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2709,10 +3204,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2770,6 +3267,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2778,11 +3276,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2800,6 +3300,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2809,6 +3310,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2817,6 +3319,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2825,6 +3328,7 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2881,11 +3385,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2903,6 +3409,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2923,6 +3430,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2931,10 +3439,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2979,19 +3489,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3013,11 +3525,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3042,7 +3556,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3060,11 +3574,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3072,6 +3586,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3083,6 +3598,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3127,6 +3643,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3135,6 +3652,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3156,6 +3674,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/PayoutService-v51.json b/json/PayoutService-v51.json index 70212af..73d1971 100644 --- a/json/PayoutService-v51.json +++ b/json/PayoutService-v51.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "51", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -329,6 +620,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -425,11 +717,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -437,7 +729,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -664,13 +960,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -895,6 +1199,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -904,7 +1236,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1038,6 +1370,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1105,6 +1441,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1262,6 +1674,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1290,6 +1703,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1304,34 +1718,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1437,7 +1858,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1737,17 +2160,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1759,13 +2171,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1774,10 +2186,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1787,6 +2199,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1811,6 +2226,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1818,13 +2236,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -1833,14 +2253,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1850,6 +2272,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1863,20 +2286,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1894,10 +2321,12 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1906,14 +2335,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1925,6 +2357,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1938,6 +2371,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1963,11 +2397,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1981,15 +2415,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -1997,42 +2433,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2046,9 +2490,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2056,6 +2503,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2075,7 +2525,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2114,7 +2565,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2135,7 +2586,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2148,15 +2599,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2166,6 +2620,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2493,7 +2955,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2501,7 +2963,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2566,6 +3028,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -2585,7 +3075,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -2597,11 +3087,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -2628,7 +3118,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -2655,6 +3145,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2663,11 +3154,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2685,6 +3178,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2698,6 +3192,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2706,6 +3201,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2714,10 +3210,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2775,6 +3273,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2783,11 +3282,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2805,6 +3306,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2814,6 +3316,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2822,6 +3325,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2830,6 +3334,7 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2886,11 +3391,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2908,6 +3415,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2928,6 +3436,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2936,10 +3445,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -2984,19 +3495,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3018,11 +3531,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3047,7 +3562,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3065,11 +3580,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3077,6 +3592,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3088,6 +3604,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3132,6 +3649,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3140,6 +3658,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3161,6 +3680,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/PayoutService-v52.json b/json/PayoutService-v52.json index 0632cc1..58b60bb 100644 --- a/json/PayoutService-v52.json +++ b/json/PayoutService-v52.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "52", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -329,6 +620,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -425,11 +717,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -437,7 +729,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -664,13 +960,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -895,6 +1199,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -904,7 +1236,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1038,6 +1370,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1105,6 +1441,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1262,6 +1674,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1290,6 +1703,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1304,34 +1718,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1437,7 +1858,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1737,17 +2160,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1759,13 +2171,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1774,10 +2186,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1787,6 +2199,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1811,6 +2226,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1818,13 +2236,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -1833,14 +2253,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1850,6 +2272,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1863,20 +2286,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1894,18 +2321,20 @@ "$ref" : "#/components/schemas/FundSource" }, "fundingSource" : { - "description" : "How to process a combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", + "x-addedInVersion" : 52, + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "debit", - "credit" + "debit" ], "type" : "string" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1914,14 +2343,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1933,6 +2365,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1946,6 +2379,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1971,11 +2405,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1989,15 +2423,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2005,42 +2441,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2054,9 +2498,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2064,6 +2511,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2083,7 +2533,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2122,7 +2573,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2143,7 +2594,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2156,15 +2607,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2174,6 +2628,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2501,7 +2963,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2509,7 +2971,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2574,6 +3036,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -2593,7 +3083,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -2605,11 +3095,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -2636,7 +3126,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -2663,6 +3153,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2671,11 +3162,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2693,6 +3186,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2706,6 +3200,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2714,6 +3209,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2722,14 +3218,17 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 52, "description" : "The shopper's phone number.", "type" : "string" } @@ -2787,6 +3286,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2795,11 +3295,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2817,6 +3319,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2826,6 +3329,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2834,6 +3338,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2842,10 +3347,12 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 52, "description" : "The shopper's phone number.", "type" : "string" } @@ -2902,11 +3409,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2924,6 +3433,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2944,6 +3454,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2952,10 +3463,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -3000,19 +3513,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3034,11 +3549,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3063,7 +3580,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3081,11 +3598,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3093,6 +3610,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3104,6 +3622,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3148,6 +3667,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3156,6 +3676,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3177,6 +3698,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/PayoutService-v64.json b/json/PayoutService-v64.json index ca750b1..f61af3c 100644 --- a/json/PayoutService-v64.json +++ b/json/PayoutService-v64.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "64", + "x-publicVersion" : true, "title" : "Adyen Payout API", - "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).", + "description" : "A set of API endpoints that allow you to store payout details, confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -26,12 +27,18 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "confirmThirdParty" : { + "$ref" : "#/components/examples/post-confirmThirdParty-confirmThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -50,19 +57,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -71,12 +118,18 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "x-addedInVersion" : 10, "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "declineThirdParty" : { + "$ref" : "#/components/examples/post-declineThirdParty-declineThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/ModifyRequest" } @@ -95,19 +148,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -116,12 +209,21 @@ "post" : { "summary" : "Pay out directly.", "description" : "With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder's bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.", + "x-addedInVersion" : 11, "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "payout-p2p" : { + "$ref" : "#/components/examples/post-payout-payout-p2p" + }, + "payout-b2c" : { + "$ref" : "#/components/examples/post-payout-payout-b2c" + } + }, "schema" : { "$ref" : "#/components/schemas/PayoutRequest" } @@ -140,19 +242,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -167,6 +309,11 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetail" : { + "$ref" : "#/components/examples/post-storeDetail-storeDetail" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailRequest" } @@ -185,19 +332,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -206,12 +393,30 @@ "post" : { "summary" : "Stores details and submits a payout.", "description" : "Submits a payout and stores its details for subsequent payouts.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "storeDetailAndSubmitThirdParty-Neteller" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" + }, + "storeDetailAndSubmitThirdParty-Skrill" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" + }, + "storeDetailAndSubmitThirdParty-PayPal" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" + }, + "storeDetailAndSubmitThirdParty" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" + }, + "storeDetailAndSubmitThirdParty-Paysafecard" : { + "$ref" : "#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" + } + }, "schema" : { "$ref" : "#/components/schemas/StoreDetailAndSubmitRequest" } @@ -230,19 +435,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -251,12 +496,18 @@ "post" : { "summary" : "Submits a payout.", "description" : "Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.\n\nThe submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.", + "x-addedInVersion" : 10, "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { "content" : { "application/json" : { + "examples" : { + "submitThirdParty" : { + "$ref" : "#/components/examples/post-submitThirdParty-submitThirdParty" + } + }, "schema" : { "$ref" : "#/components/schemas/SubmitRequest" } @@ -275,19 +526,59 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic-400" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -329,6 +620,7 @@ "type" : "string" }, "accountType" : { + "x-addedInVersion" : 50, "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", "enum" : [ "notApplicable", @@ -425,11 +717,11 @@ "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", + "description" : "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.\n\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n", "type" : "string" }, "executeThreeD" : { - "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "description" : "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n", "type" : "string" }, "mpiImplementationType" : { @@ -437,7 +729,11 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n", "type" : "string" } } @@ -664,13 +960,21 @@ "type" : "string" }, "authorisationType" : { - "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", + "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.", "type" : "string" }, "customRoutingFlag" : { "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, + "industryUsage" : { + "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.", + "enum" : [ + "NoShow", + "DelayedCharge" + ], + "type" : "string" + }, "networkTxReference" : { "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.", "type" : "string" @@ -895,6 +1199,34 @@ "description" : "The number of units purchased of a specific product.", "type" : "string" }, + "openinvoicedataLine[itemNr].returnShippingCompany" : { + "description" : "Name of the shipping company handling the the return shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingNumber" : { + "description" : "The tracking number for the return of the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].returnTrackingUri" : { + "description" : "URI where the customer can track the return of their shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingCompany" : { + "description" : "Name of the shipping company handling the delivery.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].shippingMethod" : { + "description" : "Shipping method.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingNumber" : { + "description" : "The tracking number for the shipment.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].trackingUri" : { + "description" : "URI where the customer can track their shipment.", + "type" : "string" + }, "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" @@ -904,7 +1236,7 @@ "AdditionalDataOpi" : { "properties" : { "opi.includeTransToken" : { - "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nMake sure that you set `shopperInteraction` to **Ecommerce** and leave the `shopperReference` blank. You can use this token to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -1038,6 +1370,10 @@ "riskdata.promotions.promotion[itemNr].promotionName" : { "description" : "Name of the promotion.", "type" : "string" + }, + "riskdata.riskProfileReference" : { + "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).", + "type" : "string" } } }, @@ -1105,6 +1441,82 @@ } } }, + "AdditionalDataSubMerchant" : { + "properties" : { + "subMerchant.numberOfSubSellers" : { + "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].city" : { + "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].country" : { + "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].creditSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccount" : { + "description" : "The sub-merchant's bank account number with the check digit number and without punctuations or dashes.\n* Format: Numeric\n* Maximum length: 12 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAccountType" : { + "description" : "A two-letter indicator of the type of the sub-merchant's bank account.\nPossible values:\n - **CC** - Checking account\n - **CD** - Deposit account\n - **PG** - Payments account\n - **PP** - Savings account\n", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementAgency" : { + "description" : "The four-digit branch code of the sub-merchant's bank, without the check digit, slashes, or dashes.\n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].debitSettlementBank" : { + "description" : "The identifier of the sub-merchant's bank. In Brazil, this is the three-digit bank number format specified by the Central Bank of Brazil (BACEN).\n* Format: Numeric\n* Fixed length: 3 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].id" : { + "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].mcc" : { + "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].name" : { + "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].postalCode" : { + "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].state" : { + "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].street" : { + "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters", + "type" : "string" + }, + "subMerchant.subSeller[subSellerNr].taxId" : { + "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ", + "type" : "string" + } + } + }, "AdditionalDataTemporaryServices" : { "properties" : { "enhancedSchemeData.customerReference" : { @@ -1262,6 +1674,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -1290,6 +1703,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -1304,34 +1718,41 @@ "type" : "string" }, "colorDepth" : { + "x-addedInVersion" : 40, "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, "javaEnabled" : { + "x-addedInVersion" : 40, "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", "type" : "boolean" }, "javaScriptEnabled" : { - "default" : "true", + "x-addedInVersion" : 40, + "default" : true, "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, "language" : { + "x-addedInVersion" : 40, "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", "type" : "string" }, "screenHeight" : { + "x-addedInVersion" : 40, "description" : "The total height of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "screenWidth" : { + "x-addedInVersion" : 40, "description" : "The total width of the shopper's device screen in pixels.", "format" : "int32", "type" : "integer" }, "timeZoneOffset" : { + "x-addedInVersion" : 40, "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", "format" : "int32", "type" : "integer" @@ -1437,7 +1858,9 @@ "type" : "string" }, "sdkUiType" : { - "default" : "", + "default" : [ + "" + ], "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1603,6 +2026,7 @@ "Installments" : { "properties" : { "plan" : { + "x-addedInVersion" : 64, "description" : "Defines the type of installment plan. If not set, defaults to **regular**.\n\nPossible values:\n* **regular**\n* **revolving**", "enum" : [ "regular", @@ -1745,17 +2169,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -1767,13 +2180,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "PayoutRequest" : { "properties" : { "accountInfo" : { + "x-addedInVersion" : 40, "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/AccountInfo" }, @@ -1782,10 +2195,10 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "anyOf" : [ - { - "$ref" : "#/components/schemas/AdditionalDataCommon" - }, + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { "$ref" : "#/components/schemas/AdditionalData3DSecure" }, @@ -1795,6 +2208,9 @@ { "$ref" : "#/components/schemas/AdditionalDataCarRental" }, + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, { "$ref" : "#/components/schemas/AdditionalDataLevel23" }, @@ -1819,6 +2235,9 @@ { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, + { + "$ref" : "#/components/schemas/AdditionalDataSubMerchant" + }, { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, @@ -1826,13 +2245,15 @@ "$ref" : "#/components/schemas/AdditionalDataWallets" } ], - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", + "type" : "object" }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { + "x-addedInVersion" : 40, "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", "$ref" : "#/components/schemas/ApplicationInfo" }, @@ -1841,14 +2262,16 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "x-addedInVersion" : 4, + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require `billingAddress` for all browser-based and mobile implementations. Include all of the fields within this object.", "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { + "x-addedInVersion" : 2, "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", "format" : "int32", "type" : "integer" @@ -1858,6 +2281,7 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 7, "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", "format" : "date-time", "type" : "string" @@ -1871,20 +2295,24 @@ "$ref" : "#/components/schemas/Address" }, "deliveryDate" : { + "x-addedInVersion" : 8, "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", "format" : "date-time", "type" : "string" }, "deviceFingerprint" : { + "x-addedInVersion" : 2, "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", "type" : "string" }, "enableRealTimeUpdate" : { + "x-addedInVersion" : 51, "deprecated" : true, "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", "type" : "boolean" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payment is processed for.", "enum" : [ "NaturalPerson", @@ -1902,18 +2330,20 @@ "$ref" : "#/components/schemas/FundSource" }, "fundingSource" : { - "description" : "How to process a combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", + "x-addedInVersion" : 52, + "description" : "The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.", "enum" : [ - "debit", - "credit" + "debit" ], "type" : "string" }, "installments" : { + "x-addedInVersion" : 4, "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { + "x-addedInVersion" : 12, "description" : "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.", "type" : "string" }, @@ -1922,14 +2352,17 @@ "type" : "string" }, "merchantOrderReference" : { + "x-addedInVersion" : 9, "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", "type" : "string" }, "merchantRiskIndicator" : { + "x-addedInVersion" : 40, "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "x-addedInVersion" : 17, "additionalProperties" : { "type" : "string" }, @@ -1941,6 +2374,7 @@ "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The two-character country code of the shopper's nationality.", "maxLength" : 2, "type" : "string" @@ -1954,6 +2388,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { + "x-addedInVersion" : 30, "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", @@ -1979,11 +2414,11 @@ "type" : "string" }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.", "type" : "string" }, "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", "type" : "string" }, "shopperInteraction" : { @@ -1997,15 +2432,17 @@ "type" : "string" }, "shopperLocale" : { + "x-addedInVersion" : 7, "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", "type" : "string" }, "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", + "x-addedInVersion" : 7, + "description" : "The shopper's full name.", "$ref" : "#/components/schemas/Name" }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters.\n> This field is required for recurring payments.", "type" : "string" }, "shopperStatement" : { @@ -2013,42 +2450,50 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "The shopper's social security number.", "type" : "string" }, "splits" : { - "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information).", + "x-addedInVersion" : 37, + "description" : "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, "store" : { + "x-addedInVersion" : 23, "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 7, "description" : "The shopper's telephone number.", "type" : "string" }, "threeDS2RequestData" : { - "description" : "Request fields for 3D Secure 2.", + "x-addedInVersion" : 40, + "description" : "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.", "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "default" : "false", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "x-addedInVersion" : 50, + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "totalsGroup" : { + "x-addedInVersion" : 23, "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", "maxLength" : 16, "minLength" : 1, "type" : "string" }, "trustedShopper" : { + "x-addedInVersion" : 37, "description" : "Set to true if the payment should be routed to a trusted MID.", "type" : "boolean" } @@ -2062,9 +2507,12 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "anyOf" : [ + "additionalProperties" : { + "type" : "string" + }, + "x-anyOf" : [ { - "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure" }, { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" @@ -2072,6 +2520,9 @@ { "$ref" : "#/components/schemas/ResponseAdditionalDataCard" }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" }, @@ -2091,7 +2542,8 @@ "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" } ], - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", + "type" : "object" }, "authCode" : { "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.", @@ -2130,7 +2582,7 @@ "type" : "string" }, "resultCode" : { - "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2151,7 +2603,7 @@ "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -2164,15 +2616,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -2182,6 +2637,14 @@ } } }, + "ResponseAdditionalData3DSecure" : { + "properties" : { + "scaExemptionRequested" : { + "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "type" : "string" + } + } + }, "ResponseAdditionalDataBillingAddress" : { "properties" : { "billingAddress.city" : { @@ -2509,7 +2972,7 @@ "type" : "string" }, "networkToken.tokenSummary" : { - "description" : "The last four digits of a card number.", + "description" : "The last four digits of a network token.", "type" : "string" } } @@ -2517,7 +2980,7 @@ "ResponseAdditionalDataOpi" : { "properties" : { "opi.transToken" : { - "description" : "Returned in the response if you included `opi.returnTransToken` in an ecommerce request. This contains an OPI token that you can use to identify an ecommerce transaction in your Oracle system integrations such as Opera.", + "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).", "type" : "string" } } @@ -2582,6 +3045,34 @@ } } }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "ShopperInteractionDevice" : { "properties" : { "locale" : { @@ -2601,7 +3092,7 @@ "Split" : { "properties" : { "account" : { - "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "description" : "Unique identifier of the account where the split amount should be sent. This is required if `type` is **MarketPlace** or **BalanceAccount**.\n\n", "type" : "string" }, "amount" : { @@ -2613,11 +3104,11 @@ "type" : "string" }, "reference" : { - "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "description" : "Your reference for the split, which you can use to link the split to other operations such as captures and refunds.\n\nThis is required if `type` is **MarketPlace**. For the other types, we also recommend sending a reference so you can reconcile the split and the associated payment in the transaction overview and in the reports. If the reference is not provided, the split is reported as part of the aggregated [TransferBalance record type](https://docs.adyen.com/reporting/marketpay-payments-accounting-report) in Adyen for Platforms.", "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "description" : "The type of split.\nPossible values: **Default**, **PaymentFee**, **VAT**, **Commission**, **MarketPlace**, **BalanceAccount**.", "enum" : [ "BalanceAccount", "Commission", @@ -2644,7 +3135,7 @@ "type" : "string" }, "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "description" : "The amount in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "format" : "int64", "type" : "integer" } @@ -2671,6 +3162,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2679,11 +3171,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2701,6 +3195,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2714,6 +3209,7 @@ "type" : "string" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2722,6 +3218,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2730,14 +3227,17 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 52, "description" : "The shopper's phone number.", "type" : "string" } @@ -2795,6 +3295,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 18, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -2803,11 +3304,13 @@ "$ref" : "#/components/schemas/Card" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n> This field is mandatory for natural persons.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.", "enum" : [ "NaturalPerson", @@ -2825,6 +3328,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').", "maxLength" : 2, "type" : "string" @@ -2834,6 +3338,7 @@ "$ref" : "#/components/schemas/Recurring" }, "selectedBrand" : { + "x-addedInVersion" : 24, "description" : "The name of the brand to make a payout to.\n\nFor Paysafecard it must be set to `paysafecard`.", "type" : "string" }, @@ -2842,6 +3347,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nWhen the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.", "$ref" : "#/components/schemas/Name" }, @@ -2850,10 +3356,12 @@ "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" }, "telephoneNumber" : { + "x-addedInVersion" : 52, "description" : "The shopper's phone number.", "type" : "string" } @@ -2910,11 +3418,13 @@ "$ref" : "#/components/schemas/Amount" }, "dateOfBirth" : { + "x-addedInVersion" : 24, "description" : "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\nFor Paysafecard it must be the same as used when registering the Paysafecard account.\n\n> This field is mandatory for natural persons. \n> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.", "format" : "date-time", "type" : "string" }, "entityType" : { + "x-addedInVersion" : 24, "description" : "The type of the entity the payout is processed for.\n\nAllowed values:\n* NaturalPerson\n* Company\n> This field is required to update the existing `entityType` that is associated with this recurring contract.", "enum" : [ "NaturalPerson", @@ -2932,6 +3442,7 @@ "type" : "string" }, "nationality" : { + "x-addedInVersion" : 24, "description" : "The shopper's nationality.\n\nA valid value is an ISO 2-character country code (e.g. 'NL').\n\n> This field is required to update the existing nationality that is associated with this recurring contract.", "type" : "string" }, @@ -2952,6 +3463,7 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 24, "description" : "The shopper's name.\n\nIn case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.\n\n> This field is required to update the existing `shopperName` associated with a recurring contract.", "$ref" : "#/components/schemas/Name" }, @@ -2960,10 +3472,12 @@ "type" : "string" }, "shopperStatement" : { + "x-addedInVersion" : 2, "description" : "The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).", "type" : "string" }, "socialSecurityNumber" : { + "x-addedInVersion" : 24, "description" : "The shopper's social security number.", "type" : "string" } @@ -3008,19 +3522,21 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "authenticationOnly" : { - "default" : "false", "deprecated" : true, "x-deprecatedInVersion" : 50, "x-deprecatedMessage" : "Use `threeDSAuthenticationOnly` instead.", - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "default" : false, + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, "challengeIndicator" : { @@ -3042,11 +3558,13 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "x-addedInVersion" : 49, + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "x-addedInVersion" : 49, + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -3071,7 +3589,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { - "default" : "60", + "default" : 60, "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3089,11 +3607,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -3101,6 +3619,7 @@ "type" : "string" }, "transactionType" : { + "x-addedInVersion" : 50, "description" : "Identify the type of the transaction being authenticated.", "enum" : [ "goodsOrServicePurchase", @@ -3112,6 +3631,7 @@ "type" : "string" }, "whiteListStatus" : { + "x-addedInVersion" : 49, "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", "type" : "string" } @@ -3156,6 +3676,7 @@ "type" : "string" }, "dsTransID" : { + "x-addedInVersion" : 40, "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", "type" : "string" }, @@ -3164,6 +3685,7 @@ "type" : "string" }, "threeDSVersion" : { + "x-addedInVersion" : 40, "description" : "The version of the 3D Secure protocol.", "type" : "string" }, @@ -3185,6 +3707,326 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + "generic-400" : { + "summary" : "Response code 400. Bad Request.", + "value" : { + "status" : 400, + "errorCode" : "702", + "message" : "Unexpected input: I", + "errorType" : "validation" + } + }, + "post-confirmThirdParty-confirmThirdParty" : { + "summary" : "Confirm a payout", + "description" : "Confirm a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-declineThirdParty-declineThirdParty" : { + "summary" : "Cancel a payout", + "description" : "Cancel a previously submitted payout", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "originalReference" : "9913140798220028" + } + }, + "post-payout-payout-b2c" : { + "summary" : "Instant card payout (B2C)", + "description" : "Pay out to your sellers, customers, freelancers, etc", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "billingAddress" : { + "houseNumberOrName" : "121", + "street" : "Populierenlaan", + "city" : "Beverly Hills", + "postalCode" : "90210", + "stateOrProvince" : "CA", + "country" : "US" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-payout-payout-p2p" : { + "summary" : "Instant card payout (P2P)", + "description" : "Facilitate the transfer of money between two individuals", + "value" : { + "amount" : { + "value" : 2500, + "currency" : "USD" + }, + "card" : { + "number" : "4111111111111111", + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "John Smith" + }, + "fundSource" : { + "additionalData" : { + "fundingSource" : "DEBIT" + }, + "billingAddress" : { + "country" : "US", + "postalCode" : "90210", + "city" : "Beverly Hills" + }, + "card" : { + "expiryMonth" : "03", + "expiryYear" : "2030", + "holderName" : "Payer Name", + "number" : "4400000000000008" + }, + "shopperName" : { + "firstName" : "Payer", + "lastName" : "Name" + } + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "reference" : "P9999999999999999", + "shopperName" : { + "firstName" : "John", + "lastName" : "Smith" + }, + "shopperStatement" : "Payer Name", + "dateOfBirth" : "1990-01-01", + "nationality" : "NL" + } + }, + "post-storeDetail-storeDetail" : { + "summary" : "Store payout details", + "description" : "Store payment details under the PAYOUT recurring contract", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "bank" : { + "bankName" : "AbnAmro", + "bic" : "ABNANL2A", + "countryCode" : "NL", + "iban" : "NL32ABNA0515071439", + "ownerName" : "Adyen", + "bankCity" : "Amsterdam", + "taxId" : "bankTaxId" + }, + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "billingAddress" : { + "houseNumberOrName" : "17", + "street" : "Teststreet 1", + "city" : "Amsterdam", + "stateOrProvince" : "NY", + "country" : "US", + "postalCode" : "12345" + } + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty" : { + "summary" : "Submit a payout and stores details", + "description" : "Submit a payout and stores its details for subsequent payouts", + "value" : { + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "RECURRING,PAYOUT" + }, + "amount" : { + "value" : 2000, + "currency" : "EUR" + }, + "bank" : { + "bankName" : "Wirecard", + "iban" : "DE87123456781234567890", + "countryCode" : "DE", + "ownerName" : "Simon Hopper" + }, + "reference" : "Your Reference Here", + "shopperEmail" : "s.hopper@test.com", + "shopperIP" : "61.294.12.12", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller" : { + "summary" : "Submit a payout to Neteller", + "description" : "Submit a payout to Neteller and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "neteller", + "additionalData" : { + "tokenDataType" : "Neteller", + "account" : "myNetellerAccount" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal" : { + "summary" : "Submit a payout to PayPal", + "description" : "Submit a payout to PayPal and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1750 + }, + "selectedBrand" : "paypal", + "additionalData" : { + "tokenDataType" : "PayPal", + "emailId" : "EmailUsedForPayPalAccount@example.com", + "paypal.payerId" : "AK5HCWWRUV2KL" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard" : { + "summary" : "Submit a payout to Paysafecard", + "description" : "Submit a payout to Paysafecard and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 1000 + }, + "selectedBrand" : "paysafecard", + "additionalData" : { + "emailId" : "EmailUsedForPaysafecardAccount@example.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "MALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperIP" : "61.294.12.12" + } + }, + "post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill" : { + "summary" : "Submit a payout to Skrill", + "description" : "Submit a payout to Skrill and stores its details for subsequent payouts", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : 100 + }, + "selectedBrand" : "moneybookers", + "additionalData" : { + "tokenDataType" : "MoneyBookers", + "email" : "name@adyen.com" + }, + "shopperName" : { + "firstName" : "Test", + "gender" : "FEMALE", + "lastName" : "Test2" + }, + "dateOfBirth" : "1982-07-17", + "entityType" : "NaturalPerson", + "nationality" : "NL", + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "Test Payout", + "shopperEmail" : "test@company.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j" + } + }, + "post-submitThirdParty-submitThirdParty" : { + "summary" : "Submit a payout", + "description" : "Submit a payout using the previously stored payment details", + "value" : { + "amount" : { + "currency" : "EUR", + "value" : "1000" + }, + "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", + "recurring" : { + "contract" : "PAYOUT" + }, + "reference" : "PayoutPayment-0001", + "shopperEmail" : "shopper@email.com", + "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j", + "shopperName" : { + "firstName" : "Adyen", + "gender" : "MALE", + "lastName" : "Test" + }, + "dateOfBirth" : "1990-01-01", + "entityType" : "Company", + "nationality" : "NL", + "selectedRecurringDetailReference" : "LATEST" + } + } } } } \ No newline at end of file diff --git a/json/RecurringService-v25.json b/json/RecurringService-v25.json index 7be17a4..9fd5591 100644 --- a/json/RecurringService-v25.json +++ b/json/RecurringService-v25.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "25", + "x-publicVersion" : true, "title" : "Adyen Recurring API", - "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/checkout/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v25/disable\n```", + "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v25/disable\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,6 +185,7 @@ "post" : { "summary" : "Schedules running of the Account Updater.", "description" : "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference:\n* If the card information is provided, all the sub-fields for `card` are mandatory.\n* If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory.", + "x-addedInVersion" : 4, "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, @@ -138,19 +210,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -200,6 +307,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -228,6 +336,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -294,6 +403,7 @@ "DisableRequest" : { "properties" : { "contract" : { + "x-addedInVersion" : 3, "description" : "Specify the contract if you only want to disable a specific use.\n\nThis field can be set to one of the following values, or to their combination (comma-separated):\n* ONECLICK\n* RECURRING\n* PAYOUT", "type" : "string" }, @@ -329,17 +439,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -351,14 +450,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -371,6 +469,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -383,6 +482,7 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, @@ -390,10 +490,12 @@ "type" : "object" }, "alias" : { + "x-addedInVersion" : 4, "description" : "The alias of the credit card number.\n\nApplies only to recurring contracts storing credit card details", "type" : "string" }, "aliasType" : { + "x-addedInVersion" : 4, "description" : "The alias type of the credit card number.\n\nApplies only to recurring contracts storing credit card details.", "type" : "string" }, @@ -402,6 +504,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 4, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -410,6 +513,7 @@ "$ref" : "#/components/schemas/Card" }, "contractTypes" : { + "x-addedInVersion" : 12, "description" : "Types of recurring contracts.", "items" : { "type" : "string" @@ -422,6 +526,7 @@ "type" : "string" }, "firstPspReference" : { + "x-addedInVersion" : 4, "description" : "The `pspReference` of the first recurring payment that created the recurring detail.", "type" : "string" }, @@ -430,6 +535,7 @@ "type" : "string" }, "paymentMethodVariant" : { + "x-addedInVersion" : 2, "description" : "The type or sub-brand of a payment method used, e.g. Visa Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).", "type" : "string" }, @@ -438,10 +544,12 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 4, "description" : "The name of the shopper.", "$ref" : "#/components/schemas/Name" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "A shopper's social security number (only in countries where it is legal to collect).", "type" : "string" }, @@ -549,6 +657,26 @@ "pspReference", "result" ] + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -561,6 +689,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/RecurringService-v30.json b/json/RecurringService-v30.json index fd8f9de..ca13e8a 100644 --- a/json/RecurringService-v30.json +++ b/json/RecurringService-v30.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "30", + "x-publicVersion" : true, "title" : "Adyen Recurring API", - "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/checkout/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v30/disable\n```", + "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v30/disable\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,6 +185,7 @@ "post" : { "summary" : "Schedules running of the Account Updater.", "description" : "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference:\n* If the card information is provided, all the sub-fields for `card` are mandatory.\n* If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory.", + "x-addedInVersion" : 4, "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, @@ -138,19 +210,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -200,6 +307,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -228,6 +336,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -294,6 +403,7 @@ "DisableRequest" : { "properties" : { "contract" : { + "x-addedInVersion" : 3, "description" : "Specify the contract if you only want to disable a specific use.\n\nThis field can be set to one of the following values, or to their combination (comma-separated):\n* ONECLICK\n* RECURRING\n* PAYOUT", "type" : "string" }, @@ -329,17 +439,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -351,14 +450,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -371,6 +469,7 @@ "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -383,6 +482,7 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, @@ -390,10 +490,12 @@ "type" : "object" }, "alias" : { + "x-addedInVersion" : 4, "description" : "The alias of the credit card number.\n\nApplies only to recurring contracts storing credit card details", "type" : "string" }, "aliasType" : { + "x-addedInVersion" : 4, "description" : "The alias type of the credit card number.\n\nApplies only to recurring contracts storing credit card details.", "type" : "string" }, @@ -402,6 +504,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 4, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -410,6 +513,7 @@ "$ref" : "#/components/schemas/Card" }, "contractTypes" : { + "x-addedInVersion" : 12, "description" : "Types of recurring contracts.", "items" : { "type" : "string" @@ -422,6 +526,7 @@ "type" : "string" }, "firstPspReference" : { + "x-addedInVersion" : 4, "description" : "The `pspReference` of the first recurring payment that created the recurring detail.", "type" : "string" }, @@ -430,6 +535,7 @@ "type" : "string" }, "paymentMethodVariant" : { + "x-addedInVersion" : 2, "description" : "The type or sub-brand of a payment method used, e.g. Visa Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).", "type" : "string" }, @@ -438,10 +544,12 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 4, "description" : "The name of the shopper.", "$ref" : "#/components/schemas/Name" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "A shopper's social security number (only in countries where it is legal to collect).", "type" : "string" }, @@ -549,6 +657,26 @@ "pspReference", "result" ] + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -561,6 +689,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/RecurringService-v40.json b/json/RecurringService-v40.json index 7c220b8..c3a6fbe 100644 --- a/json/RecurringService-v40.json +++ b/json/RecurringService-v40.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "40", + "x-publicVersion" : true, "title" : "Adyen Recurring API", - "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/checkout/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v40/disable\n```", + "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v40/disable\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,6 +185,7 @@ "post" : { "summary" : "Schedules running of the Account Updater.", "description" : "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference:\n* If the card information is provided, all the sub-fields for `card` are mandatory.\n* If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory.", + "x-addedInVersion" : 4, "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, @@ -138,19 +210,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -200,6 +307,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -228,6 +336,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -294,6 +403,7 @@ "DisableRequest" : { "properties" : { "contract" : { + "x-addedInVersion" : 3, "description" : "Specify the contract if you only want to disable a specific use.\n\nThis field can be set to one of the following values, or to their combination (comma-separated):\n* ONECLICK\n* RECURRING\n* PAYOUT", "type" : "string" }, @@ -329,17 +439,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -351,14 +450,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -371,15 +469,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -392,6 +493,7 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, @@ -399,10 +501,12 @@ "type" : "object" }, "alias" : { + "x-addedInVersion" : 4, "description" : "The alias of the credit card number.\n\nApplies only to recurring contracts storing credit card details", "type" : "string" }, "aliasType" : { + "x-addedInVersion" : 4, "description" : "The alias type of the credit card number.\n\nApplies only to recurring contracts storing credit card details.", "type" : "string" }, @@ -411,6 +515,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 4, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -419,6 +524,7 @@ "$ref" : "#/components/schemas/Card" }, "contractTypes" : { + "x-addedInVersion" : 12, "description" : "Types of recurring contracts.", "items" : { "type" : "string" @@ -431,6 +537,7 @@ "type" : "string" }, "firstPspReference" : { + "x-addedInVersion" : 4, "description" : "The `pspReference` of the first recurring payment that created the recurring detail.", "type" : "string" }, @@ -439,6 +546,7 @@ "type" : "string" }, "paymentMethodVariant" : { + "x-addedInVersion" : 2, "description" : "The type or sub-brand of a payment method used, e.g. Visa Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).", "type" : "string" }, @@ -447,10 +555,12 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 4, "description" : "The name of the shopper.", "$ref" : "#/components/schemas/Name" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "A shopper's social security number (only in countries where it is legal to collect).", "type" : "string" }, @@ -558,6 +668,26 @@ "pspReference", "result" ] + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -570,6 +700,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/RecurringService-v49.json b/json/RecurringService-v49.json index 9b1ff1d..8a0f899 100644 --- a/json/RecurringService-v49.json +++ b/json/RecurringService-v49.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "49", + "x-publicVersion" : true, "title" : "Adyen Recurring API", - "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/checkout/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/user-management/how-to-get-the-web-service-ws-user-password). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v49/disable\n```", + "description" : "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n## Authentication\nTo connect to the Recurring API, you must use your basic authentication credentials. For this, create your web service user, as described in [How to get the WS user password](https://docs.adyen.com/development-resources/api-credentials). Then use its credentials to authenticate your request, for example:\n\n```\ncurl\n-U \"ws@Company.YourCompany\":\"YourWsPassword\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nNote that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nRecurring API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v49/disable\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -93,19 +129,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -114,6 +185,7 @@ "post" : { "summary" : "Schedules running of the Account Updater.", "description" : "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference:\n* If the card information is provided, all the sub-fields for `card` are mandatory.\n* If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory.", + "x-addedInVersion" : 4, "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, @@ -138,19 +210,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -200,6 +307,7 @@ "type" : "string" }, "bankCity" : { + "x-addedInVersion" : 18, "description" : "The bank city.", "type" : "string" }, @@ -228,6 +336,7 @@ "type" : "string" }, "taxId" : { + "x-addedInVersion" : 18, "description" : "The bank account holder's tax ID.", "type" : "string" } @@ -294,6 +403,7 @@ "DisableRequest" : { "properties" : { "contract" : { + "x-addedInVersion" : 3, "description" : "Specify the contract if you only want to disable a specific use.\n\nThis field can be set to one of the following values, or to their combination (comma-separated):\n* ONECLICK\n* RECURRING\n* PAYOUT", "type" : "string" }, @@ -329,17 +439,6 @@ "description" : "The first name.", "type" : "string" }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, "infix" : { "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", "type" : "string" @@ -351,14 +450,13 @@ }, "required" : [ "firstName", - "lastName", - "gender" + "lastName" ] }, "Recurring" : { "properties" : { "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).", "enum" : [ "ONECLICK", "RECURRING", @@ -371,15 +469,18 @@ "type" : "string" }, "recurringExpiry" : { + "x-addedInVersion" : 40, "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", "format" : "date-time", "type" : "string" }, "recurringFrequency" : { + "x-addedInVersion" : 40, "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", "type" : "string" }, "tokenService" : { + "x-addedInVersion" : 25, "description" : "The name of the token service.", "enum" : [ "VISATOKENSERVICE", @@ -392,6 +493,7 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "x-addedInVersion" : 5, "additionalProperties" : { "type" : "string" }, @@ -399,10 +501,12 @@ "type" : "object" }, "alias" : { + "x-addedInVersion" : 4, "description" : "The alias of the credit card number.\n\nApplies only to recurring contracts storing credit card details", "type" : "string" }, "aliasType" : { + "x-addedInVersion" : 4, "description" : "The alias type of the credit card number.\n\nApplies only to recurring contracts storing credit card details.", "type" : "string" }, @@ -411,6 +515,7 @@ "$ref" : "#/components/schemas/BankAccount" }, "billingAddress" : { + "x-addedInVersion" : 4, "description" : "The billing address.", "$ref" : "#/components/schemas/Address" }, @@ -419,6 +524,7 @@ "$ref" : "#/components/schemas/Card" }, "contractTypes" : { + "x-addedInVersion" : 12, "description" : "Types of recurring contracts.", "items" : { "type" : "string" @@ -431,6 +537,7 @@ "type" : "string" }, "firstPspReference" : { + "x-addedInVersion" : 4, "description" : "The `pspReference` of the first recurring payment that created the recurring detail.", "type" : "string" }, @@ -439,6 +546,7 @@ "type" : "string" }, "paymentMethodVariant" : { + "x-addedInVersion" : 2, "description" : "The type or sub-brand of a payment method used, e.g. Visa Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).", "type" : "string" }, @@ -447,10 +555,12 @@ "type" : "string" }, "shopperName" : { + "x-addedInVersion" : 4, "description" : "The name of the shopper.", "$ref" : "#/components/schemas/Name" }, "socialSecurityNumber" : { + "x-addedInVersion" : 4, "description" : "A shopper's social security number (only in countries where it is legal to collect).", "type" : "string" }, @@ -558,6 +668,34 @@ "pspReference", "result" ] + }, + "ServiceError" : { + "properties" : { + "additionalData" : { + "x-addedInVersion" : 46, + "additionalProperties" : { + "type" : "string" + }, + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.", + "type" : "object" + }, + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } } }, "securitySchemes" : { @@ -570,6 +708,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file diff --git a/json/TestCardService-v1.json b/json/TestCardService-v1.json index 90222f5..e8c0cb6 100644 --- a/json/TestCardService-v1.json +++ b/json/TestCardService-v1.json @@ -7,13 +7,14 @@ ], "info" : { "version" : "1", + "x-publicVersion" : true, "title" : "Adyen Test Cards API", "description" : "The Test Cards API provides endpoints for generating custom test card numbers. For more information, refer to [Custom test cards](https://docs.adyen.com/development-resources/test-cards/create-test-cards) documentation.", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" + "name" : "Adyen Developer Experience team", + "url" : "https://www.adyen.help/hc/en-us/community/topics", + "email" : "developer-experience@adyen.com" } }, "x-groups" : [ @@ -48,19 +49,54 @@ "description" : "OK - the request has succeeded." }, "400" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Bad Request - a problem reading or understanding the request." }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, "401" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Unauthorized - authentication required." }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, "403" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." } } } @@ -121,6 +157,26 @@ "rangeCreationResults" ] }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "description" : "The error code mapped to the error message.", + "type" : "string" + }, + "errorType" : { + "description" : "The category of the error.", + "type" : "string" + }, + "message" : { + "description" : "A short explanation of the issue.", + "type" : "string" + }, + "pspReference" : { + "description" : "The PSP reference of the payment.", + "type" : "string" + } + } + }, "TestCardRange" : { "properties" : { "address" : { @@ -233,6 +289,9 @@ "scheme" : "basic", "type" : "http" } + }, + "examples" : { + } } } \ No newline at end of file