diff --git a/json/BinLookupService-v40.json b/json/BinLookupService-v40.json index c90db79..acce380 100644 --- a/json/BinLookupService-v40.json +++ b/json/BinLookupService-v40.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/BinLookup/v40" @@ -24,6 +24,7 @@ "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).", + "operationId" : "post-get3dsAvailability", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Gets a cost estimate.", "description" : "Use the Adyen Cost Estimation API to pre-calculate interchange and scheme fee costs. Knowing these costs prior actual payment authorisation gives you an opportunity to charge those costs to the cardholder, if necessary.\n\nTo retrieve this information, make the call to the `/getCostEstimate` endpoint. The response to this call contains the amount of the interchange and scheme fees charged by the network for this transaction, and also which surcharging policy is possible (based on current regulations).\n\n> Since not all information is known in advance (for example, if the cardholder will successfully authenticate via 3D Secure or if you also plan to provide additional Level 2/3 data), the returned amounts are based on a set of assumption criteria you define in the `assumptions` parameter.", + "operationId" : "post-getCostEstimate", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { @@ -202,13 +204,17 @@ "$ref" : "#/components/schemas/CostEstimateAssumptions" }, "cardNumber" : { - "description" : "The card number (4-19 characters) for PCI compliant use cases. Do not use any separators.\n\n> Either the `cardNumber` or `encryptedCard` field must be provided in a payment request.", + "description" : "The card number (4-19 characters) for PCI compliant use cases. Do not use any separators.\n\n> Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request.", "maxLength" : 19, "minLength" : 4, "type" : "string" }, "encryptedCard" : { - "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 `encryptedCard` field must be provided in a payment request.", + "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" }, "merchantAccount" : { @@ -363,6 +369,9 @@ "ThreeDSAvailabilityRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -391,8 +400,7 @@ } }, "required" : [ - "merchantAccount", - "brands" + "merchantAccount" ] }, "ThreeDSAvailabilityResponse" : { @@ -421,6 +429,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/BinLookupService-v50.json b/json/BinLookupService-v50.json index 64e58d1..54e4b22 100644 --- a/json/BinLookupService-v50.json +++ b/json/BinLookupService-v50.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/BinLookup/v50" @@ -24,6 +24,7 @@ "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).", + "operationId" : "post-get3dsAvailability", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Gets a cost estimate.", "description" : "Use the Adyen Cost Estimation API to pre-calculate interchange and scheme fee costs. Knowing these costs prior actual payment authorisation gives you an opportunity to charge those costs to the cardholder, if necessary.\n\nTo retrieve this information, make the call to the `/getCostEstimate` endpoint. The response to this call contains the amount of the interchange and scheme fees charged by the network for this transaction, and also which surcharging policy is possible (based on current regulations).\n\n> Since not all information is known in advance (for example, if the cardholder will successfully authenticate via 3D Secure or if you also plan to provide additional Level 2/3 data), the returned amounts are based on a set of assumption criteria you define in the `assumptions` parameter.", + "operationId" : "post-getCostEstimate", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { @@ -210,13 +212,17 @@ "$ref" : "#/components/schemas/CostEstimateAssumptions" }, "cardNumber" : { - "description" : "The card number (4-19 characters) for PCI compliant use cases. Do not use any separators.\n\n> Either the `cardNumber` or `encryptedCard` field must be provided in a payment request.", + "description" : "The card number (4-19 characters) for PCI compliant use cases. Do not use any separators.\n\n> Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request.", "maxLength" : 19, "minLength" : 4, "type" : "string" }, "encryptedCard" : { - "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 `encryptedCard` field must be provided in a payment request.", + "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" }, "merchantAccount" : { @@ -371,6 +377,9 @@ "ThreeDSAvailabilityRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -399,8 +408,7 @@ } }, "required" : [ - "merchantAccount", - "brands" + "merchantAccount" ] }, "ThreeDSAvailabilityResponse" : { @@ -433,6 +441,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/PayoutService-v30.json b/json/PayoutService-v30.json index ff16380..d5517ea 100644 --- a/json/PayoutService-v30.json +++ b/json/PayoutService-v30.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v30" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -289,46 +295,10 @@ }, "components" : { "schemas" : { - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -340,105 +310,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -447,299 +401,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -749,26 +778,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -778,232 +799,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1284,6 +1313,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1324,6 +1356,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1344,6 +1379,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1400,23 +1438,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1431,7 +1494,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1499,11 +1562,14 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1520,7 +1586,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1575,7 +1641,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1608,8 +1674,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -1644,11 +1735,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1691,9 +1782,384 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -1788,6 +2254,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1812,6 +2281,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -1892,6 +2364,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1917,6 +2392,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -1996,6 +2474,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2020,7 +2501,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2039,7 +2520,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2063,6 +2544,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v40.json b/json/PayoutService-v40.json index 1b950e3..518ac61 100644 --- a/json/PayoutService-v40.json +++ b/json/PayoutService-v40.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v40" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -407,46 +413,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +428,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,299 +519,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -867,26 +896,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -896,232 +917,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1258,7 +1287,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1267,6 +1296,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1380,15 +1410,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1523,6 +1555,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1636,6 +1671,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1656,6 +1694,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1716,23 +1757,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1751,7 +1817,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1823,11 +1889,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1844,7 +1913,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1899,7 +1968,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1907,7 +1976,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -1947,8 +2016,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -1983,11 +2077,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2039,6 +2133,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2133,6 +2599,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2227,6 +2696,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2251,6 +2723,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2331,6 +2806,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2356,6 +2834,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2435,6 +2916,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2459,6 +2943,7 @@ "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.", "type" : "boolean" }, @@ -2481,6 +2966,7 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2501,6 +2987,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2537,7 +3024,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2556,7 +3043,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2584,6 +3071,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v46.json b/json/PayoutService-v46.json index fc99899..c5e31a5 100644 --- a/json/PayoutService-v46.json +++ b/json/PayoutService-v46.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v46" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -407,46 +413,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +428,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,299 +519,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -867,26 +896,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -896,232 +917,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1258,7 +1287,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1267,6 +1296,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1380,15 +1410,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1523,6 +1555,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1636,6 +1671,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1656,6 +1694,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1716,23 +1757,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1751,7 +1817,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1823,11 +1889,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1844,7 +1913,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1899,7 +1968,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1907,7 +1976,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -1947,8 +2016,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -1983,11 +2077,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2039,6 +2133,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2133,6 +2599,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2227,6 +2696,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2251,6 +2723,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2331,6 +2806,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2356,6 +2834,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2435,6 +2916,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2459,6 +2943,7 @@ "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.", "type" : "boolean" }, @@ -2481,6 +2966,7 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2501,6 +2987,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2537,7 +3024,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2556,7 +3043,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2588,6 +3075,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v49.json b/json/PayoutService-v49.json index 0b9c3a9..159c98b 100644 --- a/json/PayoutService-v49.json +++ b/json/PayoutService-v49.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v49" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -407,46 +413,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +428,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,299 +519,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -867,26 +896,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -896,232 +917,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1258,7 +1287,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1267,6 +1296,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1380,15 +1410,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1523,6 +1555,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1636,6 +1671,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1656,6 +1694,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1716,23 +1757,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1751,7 +1817,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1823,11 +1889,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1844,7 +1913,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1899,7 +1968,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1907,7 +1976,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -1947,8 +2016,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -1983,11 +2077,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2039,6 +2133,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2133,6 +2599,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2227,6 +2696,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2251,6 +2723,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2331,6 +2806,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2356,6 +2834,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2435,6 +2916,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2467,6 +2951,7 @@ "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.", "type" : "boolean" }, @@ -2497,6 +2982,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2517,6 +3003,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2557,7 +3044,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2576,7 +3063,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2608,6 +3095,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v50.json b/json/PayoutService-v50.json index f58d1ae..ee59ffc 100644 --- a/json/PayoutService-v50.json +++ b/json/PayoutService-v50.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v50" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -416,46 +422,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -467,105 +437,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -574,299 +528,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -876,26 +905,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -905,232 +926,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1267,7 +1296,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1276,6 +1305,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1389,15 +1419,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1532,6 +1564,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1645,6 +1680,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1665,6 +1703,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1725,23 +1766,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1760,7 +1826,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1832,11 +1898,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1853,7 +1922,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1908,7 +1977,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1916,7 +1985,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -1937,6 +2006,7 @@ "$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.", "type" : "boolean" }, @@ -1960,8 +2030,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -1996,11 +2091,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2052,6 +2147,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2146,6 +2613,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2240,6 +2710,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2264,6 +2737,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2344,6 +2820,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2369,6 +2848,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2448,6 +2930,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2480,6 +2965,7 @@ "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.", "type" : "boolean" }, @@ -2510,6 +2996,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2530,6 +3017,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2581,7 +3069,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2600,7 +3088,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2632,6 +3120,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v51.json b/json/PayoutService-v51.json index 2f20d75..3b23643 100644 --- a/json/PayoutService-v51.json +++ b/json/PayoutService-v51.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v51" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -416,46 +422,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -467,105 +437,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -574,299 +528,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -876,26 +905,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -905,232 +926,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1267,7 +1296,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1276,6 +1305,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1389,15 +1419,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1532,6 +1564,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1645,6 +1680,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1665,6 +1703,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1725,23 +1766,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1760,7 +1826,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1837,11 +1903,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1858,7 +1927,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1913,7 +1982,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1921,7 +1990,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -1942,6 +2011,7 @@ "$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.", "type" : "boolean" }, @@ -1965,8 +2035,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -2001,11 +2096,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2057,6 +2152,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2151,6 +2618,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2245,6 +2715,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2269,6 +2742,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2349,6 +2825,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2374,6 +2853,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2453,6 +2935,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2485,6 +2970,7 @@ "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.", "type" : "boolean" }, @@ -2515,6 +3001,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2535,6 +3022,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2586,7 +3074,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2605,7 +3093,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2637,6 +3125,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } -} +} \ No newline at end of file diff --git a/json/PayoutService-v52.json b/json/PayoutService-v52.json index 83e9537..19ba5f8 100644 --- a/json/PayoutService-v52.json +++ b/json/PayoutService-v52.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Payout/v52" @@ -26,6 +26,7 @@ "post" : { "summary" : "Confirms a payout.", "description" : "Confirms a previously submitted payout.\n\nTo cancel a payout, use the `/declineThirdParty` endpoint.", + "operationId" : "post-confirmThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 1, "requestBody" : { @@ -70,6 +71,7 @@ "post" : { "summary" : "Cancels a payout.", "description" : "Cancels a previously submitted payout.\n\nTo confirm and send a payout, use the `/confirmThirdParty` endpoint.", + "operationId" : "post-declineThirdParty", "x-groupName" : "Reviewing", "x-sortIndex" : 2, "requestBody" : { @@ -114,6 +116,7 @@ "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.", + "operationId" : "post-payout", "x-groupName" : "Instant payouts", "x-sortIndex" : 1, "requestBody" : { @@ -158,6 +161,7 @@ "post" : { "summary" : "Stores payout details.", "description" : "Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.", + "operationId" : "post-storeDetail", "x-groupName" : "Initialization", "x-sortIndex" : 2, "requestBody" : { @@ -202,6 +206,7 @@ "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.", + "operationId" : "post-storeDetailAndSubmitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 1, "requestBody" : { @@ -246,6 +251,7 @@ "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.", + "operationId" : "post-submitThirdParty", "x-groupName" : "Initialization", "x-sortIndex" : 3, "requestBody" : { @@ -416,46 +422,10 @@ } } }, - "AdditionalDataCommon" : { - "properties" : { - "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.", - "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" - }, - "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" - }, - "overwriteBrand" : { - "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", - "type" : "string" - }, - "RequestedTestErrorResponseCode" : { - "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", - "type" : "string" - }, - "subMerchantID" : { - "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", - "type" : "string" - } - } - }, - "AdditionalDataModifications" : { - "properties" : { - "installmentPaymentData.selectedInstallmentOption" : { - "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.", - "type" : "string" - } - } - }, "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" : "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.", "type" : "string" }, "executeThreeD" : { @@ -467,105 +437,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.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. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -574,299 +528,374 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", "type" : "string" } } }, - "AdditionalDataCarRental" : { - "properties": { - "carRental.rentalAgreementNumber": { - "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", "type" : "string" }, - "carRental.renterName": { - "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "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.", "type" : "string" }, - "carRental.returnCity": { - "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "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" }, - "carRental.returnStateProvince": { - "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "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" }, - "carRental.returnCountry": { - "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "overwriteBrand" : { + "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.", "type" : "string" }, - "carRental.returnLocationId": { - "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", "type" : "string" }, - "carRental.returnDate": { - "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", "type" : "string" }, - "carRental.checkOutDate": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", "type" : "string" }, - "carRental.rate": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", "type" : "string" }, - "carRental.rateIndicator": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", "type" : "string" }, - "carRental.locationCity": { - "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", "type" : "string" }, - "carRental.locationStateProvince": { - "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", - "type" : "string" - }, - "carRental.locationCountry": { - "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", - "type" : "string" - }, - "carRental.rentalClassId": { - "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.daysRented": { - "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", - "type" : "string" - }, - "carRental.taxExemptIndicator": { - "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", - "type" : "string" - }, - "travelEntertainmentAuthData.market": { - "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type" : "string" - }, - "travelEntertainmentAuthData.duration": { - "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type" : "string" - }, - "carRental.fuelCharges": { - "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.insuranceCharges": { - "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", - "type" : "string" - }, - "carRental.noShowIndicator": { - "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", - "type" : "string" - }, - "carRental.oneWayDropOffCharges": { - "description" : "Charge associated with not returning a vehicle to the original rental location.", + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "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" } @@ -876,26 +905,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -905,232 +926,240 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { + "properties" : { + "riskdata.[customFieldName]" : { "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } @@ -1267,7 +1296,7 @@ "type" : "string" }, "colorDepth" : { - "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, 32 or 48 bit color depth.", + "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" }, @@ -1276,6 +1305,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "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" }, @@ -1389,15 +1419,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1532,6 +1564,9 @@ "FundSource" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "a map of name/value pairs for passing in additional/industry-specific data", "type" : "object" }, @@ -1645,6 +1680,9 @@ "ModifyRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular payout request.", "type" : "object" }, @@ -1665,6 +1703,9 @@ "ModifyResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -1725,23 +1766,48 @@ "$ref" : "#/components/schemas/Amount" }, "additionalData" : { - "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.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/AdditionalDataModifications" }, - { "$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/AdditionalDataRatepay" }, - { "$ref" : "#/components/schemas/AdditionalDataRetry" }, - { "$ref" : "#/components/schemas/AdditionalDataRisk" }, - { "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" }, - { "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" }, - { "$ref" : "#/components/schemas/AdditionalDataWallets" } - ] + "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/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$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." }, "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).", @@ -1760,7 +1826,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -1817,7 +1883,7 @@ "$ref" : "#/components/schemas/FundSource" }, "fundingSource" : { - "description" : "How to process combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", + "description" : "How to process a combo card (for some Brazilian cards only).\nAllowed values:\n* debit\n* credit", "enum" : [ "debit", "credit" @@ -1845,11 +1911,14 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, "nationality" : { @@ -1866,7 +1935,7 @@ "$ref" : "#/components/schemas/Recurring" }, "recurringProcessingModel" : { - "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` – 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` – 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", + "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", "Subscription", @@ -1921,7 +1990,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -1950,6 +2019,7 @@ "$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.", "type" : "boolean" }, @@ -1973,8 +2043,33 @@ "PayoutResponse" : { "properties" : { "additionalData" : { - "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" + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$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**." }, "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.", @@ -2009,11 +2104,11 @@ "type" : "string" }, "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.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "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" }, "resultCode" : { - "description" : "The result of the payment. Possible 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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\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/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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2065,6 +2160,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "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.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "SDKEphemPubKey" : { "properties" : { "crv" : { @@ -2159,6 +2626,9 @@ "StoreDetailAndSubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2257,6 +2727,9 @@ "StoreDetailAndSubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2281,6 +2754,9 @@ "StoreDetailRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2365,6 +2841,9 @@ "StoreDetailResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2390,6 +2869,9 @@ "SubmitRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -2469,6 +2951,9 @@ "SubmitResponse" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.", "type" : "object" }, @@ -2501,6 +2986,7 @@ "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.", "type" : "boolean" }, @@ -2531,6 +3017,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -2551,6 +3038,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "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" @@ -2602,7 +3090,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -2621,7 +3109,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -2653,6 +3141,17 @@ } } } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/RecurringService-v18.json b/json/RecurringService-v18.json deleted file mode 100644 index 178423c..0000000 --- a/json/RecurringService-v18.json +++ /dev/null @@ -1,541 +0,0 @@ -{ - "openapi" : "3.0.0", - "servers" : [ - { - "url" : "https://pal-test.adyen.com/pal/servlet/Recurring/v18" - } - ], - "info" : { - "version" : "18", - "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/v18/disable\n```", - "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", - "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" - } - }, - "x-groups" : [ - "General" - ], - "paths" : { - "/disable" : { - "post" : { - "summary" : "Disables stored payment details.", - "description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", - "x-groupName" : "General", - "x-sortIndex" : 2, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DisableRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DisableResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "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." - } - } - } - }, - "/listRecurringDetails" : { - "post" : { - "summary" : "Retrieves stored payment details for a shopper.", - "description" : "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", - "x-groupName" : "General", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RecurringDetailsRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RecurringDetailsResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "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." - } - } - } - }, - "/scheduleAccountUpdater" : { - "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-groupName" : "General", - "x-sortIndex" : 3, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ScheduleAccountUpdaterRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ScheduleAccountUpdaterResult" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "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." - } - } - } - } - }, - "components" : { - "schemas" : { - "Address" : { - "properties" : { - "city" : { - "description" : "The name of the city.", - "type" : "string" - }, - "country" : { - "description" : "The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.", - "type" : "string" - }, - "houseNumberOrName" : { - "description" : "The number or name of the house.", - "type" : "string" - }, - "postalCode" : { - "description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.", - "type" : "string" - }, - "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.", - "type" : "string" - }, - "street" : { - "description" : "The name of the street.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.", - "type" : "string" - } - }, - "required" : [ - "street", - "houseNumberOrName", - "city", - "postalCode", - "country" - ] - }, - "BankAccount" : { - "properties" : { - "bankAccountNumber" : { - "description" : "The bank account number (without separators).", - "type" : "string" - }, - "bankCity" : { - "description" : "The bank city.", - "type" : "string" - }, - "bankLocationId" : { - "description" : "The location id of the bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "bankName" : { - "description" : "The name of the bank.", - "type" : "string" - }, - "bic" : { - "description" : "The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "countryCode" : { - "description" : "Country code where the bank is located.\n\nA valid value is an ISO two-character country code (e.g. 'NL').", - "type" : "string" - }, - "iban" : { - "description" : "The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).", - "type" : "string" - }, - "ownerName" : { - "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" - }, - "taxId" : { - "description" : "The bank account holder's tax ID.", - "type" : "string" - } - } - }, - "Card" : { - "properties" : { - "billingAddress" : { - "$ref" : "#/components/schemas/Address" - }, - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.\n> This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n> When this value is returned in a response, it is always empty because it is not stored.", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "issueNumber" : { - "description" : "The issue number of the card (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.\nWhen this value is returned in a response, only the last 4 digits of the card number are returned.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - }, - "startMonth" : { - "description" : "The month component of the start date (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "startYear" : { - "description" : "The year component of the start date (for some UK debit cards only).", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "number", - "expiryMonth", - "expiryYear", - "holderName" - ] - }, - "DisableRequest" : { - "properties" : { - "contract" : { - "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" - }, - "merchantAccount" : { - "description" : "The merchant account identifier with which you want to process the transaction.", - "type" : "string" - }, - "recurringDetailReference" : { - "description" : "The ID that uniquely identifies the recurring detail reference.\n\nIf it is not provided, the whole recurring contract of the `shopperReference` will be disabled, which includes all recurring details.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The ID that uniquely identifies the shopper.\n\nThis `shopperReference` must be the same as the `shopperReference` used in the initial payment.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "shopperReference" - ] - }, - "DisableResult" : { - "properties" : { - "response" : { - "description" : "Depending on whether a specific recurring detail was in the request, result is either [detail-successfully-disabled] or [all-details-successfully-disabled].", - "type" : "string" - } - } - }, - "Name" : { - "properties" : { - "firstName" : { - "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" - }, - "lastName" : { - "description" : "The last name.", - "type" : "string" - } - }, - "required" : [ - "firstName", - "lastName", - "gender" - ] - }, - "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).", - "enum" : [ - "ONECLICK", - "RECURRING", - "PAYOUT" - ], - "type" : "string" - }, - "recurringDetailName" : { - "description" : "A descriptive name for this detail.", - "type" : "string" - } - } - }, - "RecurringDetail" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be returned in a particular response.\n\nThe additionalData object consists of entries, each of which includes the key and value.", - "type" : "object" - }, - "alias" : { - "description" : "The alias of the credit card number.\n\nApplies only to recurring contracts storing credit card details", - "type" : "string" - }, - "aliasType" : { - "description" : "The alias type of the credit card number.\n\nApplies only to recurring contracts storing credit card details.", - "type" : "string" - }, - "bank" : { - "description" : "A container for bank account data.", - "$ref" : "#/components/schemas/BankAccount" - }, - "billingAddress" : { - "description" : "The billing address.", - "$ref" : "#/components/schemas/Address" - }, - "card" : { - "description" : "A container for card data.", - "$ref" : "#/components/schemas/Card" - }, - "contractTypes" : { - "description" : "Types of recurring contracts.", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "creationDate" : { - "description" : "The date when the recurring details were created.", - "format" : "date-time", - "type" : "string" - }, - "firstPspReference" : { - "description" : "The `pspReference` of the first recurring payment that created the recurring detail.", - "type" : "string" - }, - "name" : { - "description" : "An optional descriptive name for this recurring detail.", - "type" : "string" - }, - "paymentMethodVariant" : { - "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" - }, - "recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring detail.", - "type" : "string" - }, - "shopperName" : { - "description" : "The name of the shopper.", - "$ref" : "#/components/schemas/Name" - }, - "socialSecurityNumber" : { - "description" : "A shopper's social security number (only in countries where it is legal to collect).", - "type" : "string" - }, - "variant" : { - "description" : "The payment method, such as “mc\", \"visa\", \"ideal\", \"paypal\".", - "type" : "string" - } - }, - "required" : [ - "recurringDetailReference", - "variant" - ] - }, - "RecurringDetailsRequest" : { - "properties" : { - "merchantAccount" : { - "description" : "The merchant account identifier you want to process the (transaction) request with.", - "type" : "string" - }, - "recurring" : { - "description" : "A container for the type of a recurring contract to be retrieved.\n\nThe contract value needs to match the contract value submitted in the payment transaction used to create a recurring contract.\nHowever, if `ONECLICK,RECURRING` is the original contract definition in the initial payment, then `contract` should take either `ONECLICK` or `RECURRING`, depending on whether or not you want the shopper to enter their card's security code when they finalize their purchase.", - "$ref" : "#/components/schemas/Recurring" - }, - "shopperReference" : { - "description" : "The reference you use to uniquely identify the shopper (e.g. user ID or account ID).", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "shopperReference" - ] - }, - "RecurringDetailsResult" : { - "properties" : { - "creationDate" : { - "description" : "The date when the recurring details were created.", - "format" : "date-time", - "type" : "string" - }, - "details" : { - "description" : "Payment details stored for recurring payments.", - "items" : { - "$ref" : "#/components/schemas/RecurringDetail" - }, - "type" : "array" - }, - "lastKnownShopperEmail" : { - "description" : "The most recent email for this shopper (if available).", - "type" : "string" - }, - "shopperReference" : { - "description" : "The reference you use to uniquely identify the shopper (e.g. user ID or account ID).", - "type" : "string" - } - } - }, - "ScheduleAccountUpdaterRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular request.", - "type" : "object" - }, - "card" : { - "description" : "A container for credit card data.\n\nOptional if `shopperReference` and `selectedRecurringDetailReference` are provided.", - "$ref" : "#/components/schemas/Card" - }, - "merchantAccount" : { - "description" : "Account of the merchant.", - "type" : "string" - }, - "reference" : { - "description" : "A reference that merchants can apply for the call.", - "type" : "string" - }, - "selectedRecurringDetailReference" : { - "description" : "The selected detail recurring reference.\n\nOptional if `card` is provided.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The reference of the shopper that owns the recurring contract.\n\nOptional if `card` is provided.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference" - ] - }, - "ScheduleAccountUpdaterResult" : { - "properties" : { - "pspReference" : { - "description" : "Adyen's 16-character unique reference associated with the transaction. This value is globally unique; quote it when communicating with us about this request.", - "type" : "string" - }, - "result" : { - "description" : "The result of scheduling an Account Updater. If scheduling was successful, this field returns **Success**; otherwise it contains the error message.", - "type" : "string" - } - }, - "required" : [ - "pspReference", - "result" - ] - } - } - } -} \ No newline at end of file diff --git a/json/RecurringService-v25.json b/json/RecurringService-v25.json index 918a871..7be17a4 100644 --- a/json/RecurringService-v25.json +++ b/json/RecurringService-v25.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Recurring/v25" @@ -24,6 +24,7 @@ "post" : { "summary" : "Disables stored payment details.", "description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", + "operationId" : "post-disable", "x-groupName" : "General", "x-sortIndex" : 2, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Retrieves stored payment details for a shopper.", "description" : "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", + "operationId" : "post-listRecurringDetails", "x-groupName" : "General", "x-sortIndex" : 1, "requestBody" : { @@ -112,6 +114,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.", + "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, "requestBody" : { @@ -380,6 +383,9 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.\n\nThe additionalData object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -496,6 +502,9 @@ "ScheduleAccountUpdaterRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -541,6 +550,17 @@ "result" ] } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/RecurringService-v30.json b/json/RecurringService-v30.json index 2a42256..fd8f9de 100644 --- a/json/RecurringService-v30.json +++ b/json/RecurringService-v30.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Recurring/v30" @@ -24,6 +24,7 @@ "post" : { "summary" : "Disables stored payment details.", "description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", + "operationId" : "post-disable", "x-groupName" : "General", "x-sortIndex" : 2, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Retrieves stored payment details for a shopper.", "description" : "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", + "operationId" : "post-listRecurringDetails", "x-groupName" : "General", "x-sortIndex" : 1, "requestBody" : { @@ -112,6 +114,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.", + "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, "requestBody" : { @@ -380,6 +383,9 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.\n\nThe additionalData object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -496,6 +502,9 @@ "ScheduleAccountUpdaterRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -541,6 +550,17 @@ "result" ] } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/RecurringService-v40.json b/json/RecurringService-v40.json index 0f70cb7..7c220b8 100644 --- a/json/RecurringService-v40.json +++ b/json/RecurringService-v40.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Recurring/v40" @@ -24,6 +24,7 @@ "post" : { "summary" : "Disables stored payment details.", "description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", + "operationId" : "post-disable", "x-groupName" : "General", "x-sortIndex" : 2, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Retrieves stored payment details for a shopper.", "description" : "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", + "operationId" : "post-listRecurringDetails", "x-groupName" : "General", "x-sortIndex" : 1, "requestBody" : { @@ -112,6 +114,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.", + "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, "requestBody" : { @@ -389,6 +392,9 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.\n\nThe additionalData object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -505,6 +511,9 @@ "ScheduleAccountUpdaterRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -550,6 +559,17 @@ "result" ] } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/RecurringService-v49.json b/json/RecurringService-v49.json index 53fbc3a..9b1ff1d 100644 --- a/json/RecurringService-v49.json +++ b/json/RecurringService-v49.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/servlet/Recurring/v49" @@ -24,6 +24,7 @@ "post" : { "summary" : "Disables stored payment details.", "description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", + "operationId" : "post-disable", "x-groupName" : "General", "x-sortIndex" : 2, "requestBody" : { @@ -68,6 +69,7 @@ "post" : { "summary" : "Retrieves stored payment details for a shopper.", "description" : "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", + "operationId" : "post-listRecurringDetails", "x-groupName" : "General", "x-sortIndex" : 1, "requestBody" : { @@ -112,6 +114,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.", + "operationId" : "post-scheduleAccountUpdater", "x-groupName" : "General", "x-sortIndex" : 3, "requestBody" : { @@ -389,6 +392,9 @@ "RecurringDetail" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be returned in a particular response.\n\nThe additionalData object consists of entries, each of which includes the key and value.", "type" : "object" }, @@ -505,6 +511,9 @@ "ScheduleAccountUpdaterRequest" : { "properties" : { "additionalData" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "This field contains additional data, which may be required for a particular request.", "type" : "object" }, @@ -550,6 +559,17 @@ "result" ] } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/json/TestCardService-v1.json b/json/TestCardService-v1.json index e138b63..90222f5 100644 --- a/json/TestCardService-v1.json +++ b/json/TestCardService-v1.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://pal-test.adyen.com/pal/services/TestCard/v1" @@ -24,6 +24,7 @@ "post" : { "summary" : "Creates one or more test card ranges.", "description" : "Creates one or more test card ranges.", + "operationId" : "post-createTestCardRanges", "x-groupName" : "General", "x-sortIndex" : 0, "requestBody" : { @@ -221,6 +222,17 @@ "creationResultCode" ] } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } } } } \ No newline at end of file diff --git a/yaml/BinLookupService-v40.yaml b/yaml/BinLookupService-v40.yaml index a1dfdef..216f08e 100644 --- a/yaml/BinLookupService-v40.yaml +++ b/yaml/BinLookupService-v40.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/BinLookup/v40' info: @@ -20,6 +20,7 @@ paths: Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys. For more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2). + operationId: post-get3dsAvailability x-groupName: General x-sortIndex: 0 requestBody: @@ -53,6 +54,7 @@ paths: To retrieve this information, make the call to the `/getCostEstimate` endpoint. The response to this call contains the amount of the interchange and scheme fees charged by the network for this transaction, and also which surcharging policy is possible (based on current regulations). > Since not all information is known in advance (for example, if the cardholder will successfully authenticate via 3D Secure or if you also plan to provide additional Level 2/3 data), the returned amounts are based on a set of assumption criteria you define in the `assumptions` parameter. + operationId: post-getCostEstimate x-groupName: General x-sortIndex: 0 requestBody: @@ -183,15 +185,18 @@ components: description: |- The card number (4-19 characters) for PCI compliant use cases. Do not use any separators. - > Either the `cardNumber` or `encryptedCard` field must be provided in a payment request. + > Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request. maxLength: 19 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. - > Either the `cardNumber` or `encryptedCard` field must be provided in a payment request. + > Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request. type: string merchantAccount: description: The merchant account identifier you want to process the (transaction) request with. @@ -328,6 +333,8 @@ components: ThreeDSAvailabilityRequest: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be required for a particular request. @@ -352,7 +359,6 @@ components: type: string required: - merchantAccount - - brands ThreeDSAvailabilityResponse: properties: dsPublicKeys: @@ -371,3 +377,11 @@ components: threeDS2supported: description: Indicator if 3D Secure 2 is supported. type: boolean + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/BinLookupService-v50.yaml b/yaml/BinLookupService-v50.yaml index cf2ea5e..a7c7983 100644 --- a/yaml/BinLookupService-v50.yaml +++ b/yaml/BinLookupService-v50.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/BinLookup/v50' info: @@ -20,6 +20,7 @@ paths: Verifies whether 3D Secure is available for the specified BIN or card brand. For 3D Secure 2, this endpoint also returns device fingerprinting keys. For more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2). + operationId: post-get3dsAvailability x-groupName: General x-sortIndex: 0 requestBody: @@ -53,6 +54,7 @@ paths: To retrieve this information, make the call to the `/getCostEstimate` endpoint. The response to this call contains the amount of the interchange and scheme fees charged by the network for this transaction, and also which surcharging policy is possible (based on current regulations). > Since not all information is known in advance (for example, if the cardholder will successfully authenticate via 3D Secure or if you also plan to provide additional Level 2/3 data), the returned amounts are based on a set of assumption criteria you define in the `assumptions` parameter. + operationId: post-getCostEstimate x-groupName: General x-sortIndex: 0 requestBody: @@ -188,15 +190,18 @@ components: description: |- The card number (4-19 characters) for PCI compliant use cases. Do not use any separators. - > Either the `cardNumber` or `encryptedCard` field must be provided in a payment request. + > Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request. maxLength: 19 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. - > Either the `cardNumber` or `encryptedCard` field must be provided in a payment request. + > Either the `cardNumber` or `encryptedCardNumber` field must be provided in a payment request. type: string merchantAccount: description: The merchant account identifier you want to process the (transaction) request with. @@ -333,6 +338,8 @@ components: ThreeDSAvailabilityRequest: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be required for a particular request. @@ -357,7 +364,6 @@ components: type: string required: - merchantAccount - - brands ThreeDSAvailabilityResponse: properties: binDetails: @@ -379,3 +385,11 @@ components: threeDS2supported: description: Indicator if 3D Secure 2 is supported. type: boolean + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v30.yaml b/yaml/PayoutService-v30.yaml index b874854..97bcfeb 100644 --- a/yaml/PayoutService-v30.yaml +++ b/yaml/PayoutService-v30.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v30' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -200,8 +206,383 @@ paths: description: Internal Server Error - the server could not process the request. components: schemas: + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -226,434 +607,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -662,84 +698,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -750,60 +815,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -824,9 +859,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -836,14 +889,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -856,34 +922,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -896,21 +968,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -918,60 +984,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -979,12 +1045,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -997,8 +1069,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1008,7 +1113,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1020,34 +1125,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1056,11 +1133,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1071,6 +1143,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1083,20 +1170,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1362,6 +1439,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1393,6 +1472,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1407,6 +1488,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1457,13 +1540,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1476,6 +1554,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1492,7 +1574,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1557,12 +1639,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1579,8 +1663,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1644,7 +1728,9 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. @@ -1669,8 +1755,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -1712,13 +1806,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -1726,7 +1822,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -1768,9 +1864,509 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -1863,6 +2459,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1884,6 +2482,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -1965,6 +2565,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1983,6 +2585,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2072,6 +2676,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2095,7 +2701,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2113,7 +2719,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2131,3 +2737,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v40.yaml b/yaml/PayoutService-v40.yaml index df552cf..bf64d18 100644 --- a/yaml/PayoutService-v40.yaml +++ b/yaml/PayoutService-v40.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v40' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -326,8 +332,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -352,434 +733,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -788,84 +824,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -876,60 +941,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -950,9 +985,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -962,14 +1015,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -982,34 +1048,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1022,21 +1094,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1044,60 +1110,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1105,12 +1171,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1123,8 +1195,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1134,7 +1239,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1146,34 +1251,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1182,11 +1259,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1197,6 +1269,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1209,20 +1296,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1364,13 +1441,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1474,18 +1552,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1590,6 +1670,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1691,6 +1773,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1705,6 +1789,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1760,13 +1846,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1779,6 +1860,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1798,7 +1883,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1868,12 +1953,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1890,8 +1977,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1955,13 +2042,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -1991,8 +2080,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2034,13 +2131,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2048,7 +2147,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2097,6 +2196,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2181,6 +2778,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2273,6 +2872,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2294,6 +2895,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2375,6 +2978,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2393,6 +2998,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2482,6 +3089,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2502,6 +3111,7 @@ components: 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.' type: boolean challengeIndicator: @@ -2531,6 +3141,7 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2552,6 +3163,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2587,7 +3199,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2605,7 +3217,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2626,3 +3238,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v46.yaml b/yaml/PayoutService-v46.yaml index 19f15ef..9d666f8 100644 --- a/yaml/PayoutService-v46.yaml +++ b/yaml/PayoutService-v46.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v46' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -326,8 +332,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -352,434 +733,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -788,84 +824,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -876,60 +941,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -950,9 +985,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -962,14 +1015,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -982,34 +1048,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1022,21 +1094,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1044,60 +1110,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1105,12 +1171,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1123,8 +1195,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1134,7 +1239,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1146,34 +1251,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1182,11 +1259,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1197,6 +1269,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1209,20 +1296,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1364,13 +1441,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1474,18 +1552,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1590,6 +1670,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1691,6 +1773,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1705,6 +1789,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1760,13 +1846,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1779,6 +1860,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1798,7 +1883,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1868,12 +1953,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1890,8 +1977,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1955,13 +2042,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -1991,8 +2080,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2034,13 +2131,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2048,7 +2147,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2097,6 +2196,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2181,6 +2778,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2273,6 +2872,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2294,6 +2895,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2375,6 +2978,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2393,6 +2998,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2482,6 +3089,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2502,6 +3111,7 @@ components: 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.' type: boolean challengeIndicator: @@ -2531,6 +3141,7 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2552,6 +3163,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2587,7 +3199,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2605,7 +3217,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2629,3 +3241,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v49.yaml b/yaml/PayoutService-v49.yaml index ac626ce..9986b61 100644 --- a/yaml/PayoutService-v49.yaml +++ b/yaml/PayoutService-v49.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v49' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -326,8 +332,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -352,434 +733,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -788,84 +824,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -876,60 +941,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -950,9 +985,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -962,14 +1015,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -982,34 +1048,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1022,21 +1094,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1044,60 +1110,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1105,12 +1171,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1123,8 +1195,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1134,7 +1239,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1146,34 +1251,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1182,11 +1259,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1197,6 +1269,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1209,20 +1296,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1364,13 +1441,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1474,18 +1552,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1590,6 +1670,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1691,6 +1773,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1705,6 +1789,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1760,13 +1846,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1779,6 +1860,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1798,7 +1883,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1868,12 +1953,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1890,8 +1977,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1955,13 +2042,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -1991,8 +2080,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2034,13 +2131,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2048,7 +2147,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2097,6 +2196,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2181,6 +2778,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2273,6 +2872,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2294,6 +2895,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2375,6 +2978,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2393,6 +2998,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2482,6 +3089,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2508,6 +3117,7 @@ components: 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.' 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.' type: boolean challengeIndicator: @@ -2545,6 +3155,7 @@ components: > 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. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2566,6 +3177,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2604,7 +3216,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2622,7 +3234,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2646,3 +3258,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v50.yaml b/yaml/PayoutService-v50.yaml index d7fda0a..933fda3 100644 --- a/yaml/PayoutService-v50.yaml +++ b/yaml/PayoutService-v50.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v50' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -338,8 +344,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -364,434 +745,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -800,84 +836,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -888,60 +953,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -962,9 +997,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -974,14 +1027,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -994,34 +1060,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1034,21 +1106,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1056,60 +1122,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1117,12 +1183,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1135,8 +1207,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1146,7 +1251,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1158,34 +1263,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1194,11 +1271,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1209,6 +1281,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1221,20 +1308,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1376,13 +1453,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1486,18 +1564,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1602,6 +1682,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1703,6 +1785,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1717,6 +1801,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1772,13 +1858,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1791,6 +1872,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1810,7 +1895,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1880,12 +1965,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1902,8 +1989,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1967,13 +2054,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -1989,6 +2078,7 @@ components: description: Request fields for 3D Secure 2. $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.' type: boolean totalsGroup: @@ -2006,8 +2096,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2049,13 +2147,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2063,7 +2163,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2112,6 +2212,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2196,6 +2794,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2288,6 +2888,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2309,6 +2911,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2390,6 +2994,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2408,6 +3014,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2497,6 +3105,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2523,6 +3133,7 @@ components: 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.' 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.' type: boolean challengeIndicator: @@ -2560,6 +3171,7 @@ components: > 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. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2581,6 +3193,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2628,7 +3241,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2646,7 +3259,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2670,3 +3283,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v51.yaml b/yaml/PayoutService-v51.yaml index 90e744a..d73a841 100644 --- a/yaml/PayoutService-v51.yaml +++ b/yaml/PayoutService-v51.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v51' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -338,8 +344,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -364,434 +745,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -800,84 +836,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -888,60 +953,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -962,9 +997,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -974,14 +1027,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -994,34 +1060,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1034,21 +1106,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1056,60 +1122,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1117,12 +1183,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1135,8 +1207,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1146,7 +1251,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1158,34 +1263,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1194,11 +1271,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1209,6 +1281,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1221,20 +1308,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1376,13 +1453,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1486,18 +1564,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1602,6 +1682,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1703,6 +1785,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1717,6 +1801,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1772,13 +1858,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1791,6 +1872,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1810,7 +1895,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1884,12 +1969,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1906,8 +1993,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1971,13 +2058,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -1993,6 +2082,7 @@ components: description: Request fields for 3D Secure 2. $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.' type: boolean totalsGroup: @@ -2010,8 +2100,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2053,13 +2151,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2067,7 +2167,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2116,6 +2216,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2200,6 +2798,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2292,6 +2892,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2313,6 +2915,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2394,6 +2998,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2412,6 +3018,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2501,6 +3109,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2527,6 +3137,7 @@ components: 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.' 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.' type: boolean challengeIndicator: @@ -2564,6 +3175,7 @@ components: > 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. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2585,6 +3197,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2632,7 +3245,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2650,7 +3263,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2674,3 +3287,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/PayoutService-v52.yaml b/yaml/PayoutService-v52.yaml index dccf2f6..63d0c54 100644 --- a/yaml/PayoutService-v52.yaml +++ b/yaml/PayoutService-v52.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Payout/v52' info: @@ -25,6 +25,7 @@ paths: Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint. + operationId: post-confirmThirdParty x-groupName: Reviewing x-sortIndex: 1 requestBody: @@ -56,6 +57,7 @@ paths: Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint. + operationId: post-declineThirdParty x-groupName: Reviewing x-sortIndex: 2 requestBody: @@ -84,6 +86,7 @@ paths: 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.' + operationId: post-payout x-groupName: Instant payouts x-sortIndex: 1 requestBody: @@ -112,6 +115,7 @@ paths: post: summary: Stores payout details. description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call. + operationId: post-storeDetail x-groupName: Initialization x-sortIndex: 2 requestBody: @@ -143,6 +147,7 @@ paths: Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-storeDetailAndSubmitThirdParty x-groupName: Initialization x-sortIndex: 1 requestBody: @@ -174,6 +179,7 @@ paths: Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls. + operationId: post-submitThirdParty x-groupName: Initialization x-sortIndex: 3 requestBody: @@ -338,8 +344,383 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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: + * **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. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > 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. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + 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: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + 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). @@ -364,434 +745,89 @@ components: Submit 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. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalDataModifications: - properties: - installmentPaymentData.selectedInstallmentOption: - description: This is the installment option selected by the shopper. It is required only if specified by the user. - type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: 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: - * **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. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > 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. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -800,84 +836,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -888,60 +953,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -962,9 +997,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -974,14 +1027,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -994,34 +1060,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1034,21 +1106,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1056,60 +1122,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1117,12 +1183,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1135,8 +1207,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1146,7 +1251,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1158,34 +1263,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1194,11 +1271,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1209,6 +1281,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1221,20 +1308,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1376,13 +1453,14 @@ components: minLength: 10 type: string colorDepth: - 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, 32 or 48 bit color depth.' + 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: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + 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: @@ -1486,18 +1564,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -1602,6 +1682,8 @@ components: FundSource: properties: additionalData: + additionalProperties: + type: string description: a map of name/value pairs for passing in additional/industry-specific data type: object billingAddress: @@ -1703,6 +1785,8 @@ components: ModifyRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular payout request.' type: object merchantAccount: @@ -1717,6 +1801,8 @@ components: ModifyResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -1772,13 +1858,8 @@ components: Required to be in the same currency as the `amount`. $ref: '#/components/schemas/Amount' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/AdditionalDataModifications' - $ref: '#/components/schemas/AdditionalData3DSecure' - $ref: '#/components/schemas/AdditionalDataAirline' - $ref: '#/components/schemas/AdditionalDataCarRental' @@ -1791,6 +1872,10 @@ components: - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. 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' @@ -1810,7 +1895,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -1865,7 +1950,7 @@ components: $ref: '#/components/schemas/FundSource' fundingSource: description: |- - How to process combo card (for some Brazilian cards only). + How to process a combo card (for some Brazilian cards only). Allowed values: * debit * credit @@ -1894,12 +1979,14 @@ components: > 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: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' nationality: description: The two-character country code of the shopper's nationality. @@ -1916,8 +2003,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – 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. - * `UnscheduledCardOnFile` – 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. + * `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. + * `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. enum: - CardOnFile - Subscription @@ -1981,7 +2068,9 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. @@ -2003,6 +2092,7 @@ components: description: Request fields for 3D Secure 2. $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.' type: boolean totalsGroup: @@ -2020,8 +2110,16 @@ components: PayoutResponse: properties: additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $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 authCode: description: |- Authorisation code: @@ -2063,13 +2161,15 @@ components: type: string 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. + 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. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **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. @@ -2077,7 +2177,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **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. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **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. * **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. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2126,6 +2226,504 @@ components: - VISATOKENSERVICE - MCTOKENSERVICE type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string SDKEphemPubKey: properties: crv: @@ -2210,6 +2808,8 @@ components: StoreDetailAndSubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2305,6 +2905,8 @@ components: StoreDetailAndSubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2326,6 +2928,8 @@ components: StoreDetailRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object bank: @@ -2410,6 +3014,8 @@ components: StoreDetailResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2428,6 +3034,8 @@ components: SubmitRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object amount: @@ -2517,6 +3125,8 @@ components: SubmitResponse: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be returned in a particular response.' type: object pspReference: @@ -2543,6 +3153,7 @@ components: 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.' 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.' type: boolean challengeIndicator: @@ -2580,6 +3191,7 @@ components: > 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. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -2601,6 +3213,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -2648,7 +3261,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -2666,7 +3279,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -2690,3 +3303,11 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/RecurringService-v18.yaml b/yaml/RecurringService-v18.yaml deleted file mode 100644 index 45d1b2a..0000000 --- a/yaml/RecurringService-v18.yaml +++ /dev/null @@ -1,489 +0,0 @@ -openapi: 3.0.0 -servers: - - url: 'https://pal-test.adyen.com/pal/servlet/Recurring/v18' -info: - version: '18' - 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. - - For more information, refer to our [Tokenization documentation](https://docs.adyen.com/checkout/tokenization). - ## Authentication - To 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: - - ``` - curl - -U "ws@Company.YourCompany":"YourWsPassword" \ - -H "Content-Type: application/json" \ - ... - ``` - Note 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). - - ## Versioning - Recurring 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. - - For example: - ``` - https://pal-test.adyen.com/pal/servlet/Recurring/v18/disable - ``` - termsOfService: 'https://www.adyen.com/legal/terms-and-conditions' - contact: - name: Adyen Support - url: 'https://support.adyen.com/' - email: support@adyen.com -x-groups: - - General -paths: - /disable: - post: - summary: Disables stored payment details. - description: |- - Disables stored payment details to stop charging a shopper with this particular recurring detail ID. - - For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/). - x-groupName: General - x-sortIndex: 2 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DisableRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/DisableResult' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /listRecurringDetails: - post: - summary: Retrieves stored payment details for a shopper. - description: |- - Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. - - For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/). - x-groupName: General - x-sortIndex: 1 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RecurringDetailsRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/RecurringDetailsResult' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /scheduleAccountUpdater: - 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: - * If the card information is provided, all the sub-fields for `card` are mandatory. - * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory. - x-groupName: General - x-sortIndex: 3 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ScheduleAccountUpdaterRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ScheduleAccountUpdaterResult' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. -components: - schemas: - Address: - properties: - city: - description: The name of the city. - type: string - country: - description: |- - The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**. - > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`. - type: string - houseNumberOrName: - description: The number or name of the house. - type: string - postalCode: - description: 'A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.' - type: string - stateOrProvince: - description: |- - State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada. - > Required for the US and Canada. - type: string - street: - description: |- - The name of the street. - > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`. - type: string - required: - - street - - houseNumberOrName - - city - - postalCode - - country - BankAccount: - properties: - bankAccountNumber: - description: The bank account number (without separators). - type: string - bankCity: - description: The bank city. - type: string - bankLocationId: - description: The location id of the bank. The field value is `nil` in most cases. - type: string - bankName: - description: The name of the bank. - type: string - bic: - description: 'The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.' - type: string - countryCode: - description: |- - Country code where the bank is located. - - A valid value is an ISO two-character country code (e.g. 'NL'). - type: string - iban: - description: 'The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).' - type: string - ownerName: - description: |- - The name of the bank account holder. - If 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: - * χ12 is converted to ch12. - * üA is converted to euA. - * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. - After 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: - * John17 - allowed. - * J17 - allowed. - * 171 - not allowed. - * John-7 - allowed. - > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. - type: string - taxId: - description: The bank account holder's tax ID. - type: string - Card: - properties: - billingAddress: - $ref: '#/components/schemas/Address' - cvc: - description: |- - The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: - * CVV2/CVC2 – length: 3 digits - * CID – length: 4 digits - > If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server. - > This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments). - > When this value is returned in a response, it is always empty because it is not stored. - maxLength: 20 - minLength: 1 - type: string - expiryMonth: - description: |- - The card expiry month. - Format: 2 digits, zero-padded for single digits. For example: - * 03 = March - * 11 = November - maxLength: 2 - minLength: 1 - type: string - expiryYear: - description: |- - The card expiry year. - Format: 4 digits. For example: 2020 - maxLength: 4 - minLength: 4 - type: string - holderName: - description: 'The name of the cardholder, as printed on the card.' - maxLength: 50 - minLength: 1 - type: string - issueNumber: - description: The issue number of the card (for some UK debit cards only). - maxLength: 2 - minLength: 1 - type: string - number: - description: |- - The card number (4-19 characters). Do not use any separators. - When this value is returned in a response, only the last 4 digits of the card number are returned. - maxLength: 19 - minLength: 4 - type: string - startMonth: - description: The month component of the start date (for some UK debit cards only). - maxLength: 2 - minLength: 1 - type: string - startYear: - description: The year component of the start date (for some UK debit cards only). - maxLength: 4 - minLength: 4 - type: string - required: - - number - - expiryMonth - - expiryYear - - holderName - DisableRequest: - properties: - contract: - description: |- - Specify the contract if you only want to disable a specific use. - - This field can be set to one of the following values, or to their combination (comma-separated): - * ONECLICK - * RECURRING - * PAYOUT - type: string - merchantAccount: - description: The merchant account identifier with which you want to process the transaction. - type: string - recurringDetailReference: - description: |- - The ID that uniquely identifies the recurring detail reference. - - If it is not provided, the whole recurring contract of the `shopperReference` will be disabled, which includes all recurring details. - type: string - shopperReference: - description: |- - The ID that uniquely identifies the shopper. - - This `shopperReference` must be the same as the `shopperReference` used in the initial payment. - type: string - required: - - merchantAccount - - shopperReference - DisableResult: - properties: - response: - description: 'Depending on whether a specific recurring detail was in the request, result is either [detail-successfully-disabled] or [all-details-successfully-disabled].' - type: string - Name: - properties: - firstName: - description: The first name. - type: string - gender: - description: |- - The gender. - >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. - >A maximum length of twenty (20) characters is imposed. - type: string - lastName: - description: The last name. - type: string - required: - - firstName - - lastName - - gender - Recurring: - properties: - contract: - description: |- - The type of recurring contract to be used. - Possible values: - * `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). - * `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). - * `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not. - * `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts). - enum: - - ONECLICK - - RECURRING - - PAYOUT - type: string - recurringDetailName: - description: A descriptive name for this detail. - type: string - RecurringDetail: - properties: - additionalData: - description: |- - This field contains additional data, which may be returned in a particular response. - - The additionalData object consists of entries, each of which includes the key and value. - type: object - alias: - description: |- - The alias of the credit card number. - - Applies only to recurring contracts storing credit card details - type: string - aliasType: - description: |- - The alias type of the credit card number. - - Applies only to recurring contracts storing credit card details. - type: string - bank: - description: A container for bank account data. - $ref: '#/components/schemas/BankAccount' - billingAddress: - description: The billing address. - $ref: '#/components/schemas/Address' - card: - description: A container for card data. - $ref: '#/components/schemas/Card' - contractTypes: - description: Types of recurring contracts. - items: - type: string - type: array - creationDate: - description: The date when the recurring details were created. - format: date-time - type: string - firstPspReference: - description: The `pspReference` of the first recurring payment that created the recurring detail. - type: string - name: - description: An optional descriptive name for this recurring detail. - type: string - paymentMethodVariant: - 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 - recurringDetailReference: - description: The reference that uniquely identifies the recurring detail. - type: string - shopperName: - description: The name of the shopper. - $ref: '#/components/schemas/Name' - socialSecurityNumber: - description: A shopper's social security number (only in countries where it is legal to collect). - type: string - variant: - description: 'The payment method, such as “mc", "visa", "ideal", "paypal".' - type: string - required: - - recurringDetailReference - - variant - RecurringDetailsRequest: - properties: - merchantAccount: - description: The merchant account identifier you want to process the (transaction) request with. - type: string - recurring: - description: |- - A container for the type of a recurring contract to be retrieved. - - The contract value needs to match the contract value submitted in the payment transaction used to create a recurring contract. - However, if `ONECLICK,RECURRING` is the original contract definition in the initial payment, then `contract` should take either `ONECLICK` or `RECURRING`, depending on whether or not you want the shopper to enter their card's security code when they finalize their purchase. - $ref: '#/components/schemas/Recurring' - shopperReference: - description: The reference you use to uniquely identify the shopper (e.g. user ID or account ID). - type: string - required: - - merchantAccount - - shopperReference - RecurringDetailsResult: - properties: - creationDate: - description: The date when the recurring details were created. - format: date-time - type: string - details: - description: Payment details stored for recurring payments. - items: - $ref: '#/components/schemas/RecurringDetail' - type: array - lastKnownShopperEmail: - description: The most recent email for this shopper (if available). - type: string - shopperReference: - description: The reference you use to uniquely identify the shopper (e.g. user ID or account ID). - type: string - ScheduleAccountUpdaterRequest: - properties: - additionalData: - description: 'This field contains additional data, which may be required for a particular request.' - type: object - card: - description: |- - A container for credit card data. - - Optional if `shopperReference` and `selectedRecurringDetailReference` are provided. - $ref: '#/components/schemas/Card' - merchantAccount: - description: Account of the merchant. - type: string - reference: - description: A reference that merchants can apply for the call. - type: string - selectedRecurringDetailReference: - description: |- - The selected detail recurring reference. - - Optional if `card` is provided. - type: string - shopperReference: - description: |- - The reference of the shopper that owns the recurring contract. - - Optional if `card` is provided. - type: string - required: - - merchantAccount - - reference - ScheduleAccountUpdaterResult: - properties: - pspReference: - description: Adyen's 16-character unique reference associated with the transaction. This value is globally unique; quote it when communicating with us about this request. - type: string - result: - description: 'The result of scheduling an Account Updater. If scheduling was successful, this field returns **Success**; otherwise it contains the error message.' - type: string - required: - - pspReference - - result diff --git a/yaml/RecurringService-v25.yaml b/yaml/RecurringService-v25.yaml index 95516b3..a5b7674 100644 --- a/yaml/RecurringService-v25.yaml +++ b/yaml/RecurringService-v25.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Recurring/v25' info: @@ -41,6 +41,7 @@ paths: Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/). + operationId: post-disable x-groupName: General x-sortIndex: 2 requestBody: @@ -72,6 +73,7 @@ paths: Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/). + operationId: post-listRecurringDetails x-groupName: General x-sortIndex: 1 requestBody: @@ -103,6 +105,7 @@ paths: When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory. + operationId: post-scheduleAccountUpdater x-groupName: General x-sortIndex: 3 requestBody: @@ -354,6 +357,8 @@ components: RecurringDetail: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be returned in a particular response. @@ -451,6 +456,8 @@ components: ScheduleAccountUpdaterRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object card: @@ -491,3 +498,11 @@ components: required: - pspReference - result + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/RecurringService-v30.yaml b/yaml/RecurringService-v30.yaml index a971ac9..8234c7d 100644 --- a/yaml/RecurringService-v30.yaml +++ b/yaml/RecurringService-v30.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Recurring/v30' info: @@ -41,6 +41,7 @@ paths: Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/). + operationId: post-disable x-groupName: General x-sortIndex: 2 requestBody: @@ -72,6 +73,7 @@ paths: Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/). + operationId: post-listRecurringDetails x-groupName: General x-sortIndex: 1 requestBody: @@ -103,6 +105,7 @@ paths: When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory. + operationId: post-scheduleAccountUpdater x-groupName: General x-sortIndex: 3 requestBody: @@ -354,6 +357,8 @@ components: RecurringDetail: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be returned in a particular response. @@ -451,6 +456,8 @@ components: ScheduleAccountUpdaterRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object card: @@ -491,3 +498,11 @@ components: required: - pspReference - result + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/RecurringService-v40.yaml b/yaml/RecurringService-v40.yaml index 4b084ac..5e29019 100644 --- a/yaml/RecurringService-v40.yaml +++ b/yaml/RecurringService-v40.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Recurring/v40' info: @@ -41,6 +41,7 @@ paths: Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/). + operationId: post-disable x-groupName: General x-sortIndex: 2 requestBody: @@ -72,6 +73,7 @@ paths: Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/). + operationId: post-listRecurringDetails x-groupName: General x-sortIndex: 1 requestBody: @@ -103,6 +105,7 @@ paths: When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory. + operationId: post-scheduleAccountUpdater x-groupName: General x-sortIndex: 3 requestBody: @@ -361,6 +364,8 @@ components: RecurringDetail: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be returned in a particular response. @@ -458,6 +463,8 @@ components: ScheduleAccountUpdaterRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object card: @@ -498,3 +505,11 @@ components: required: - pspReference - result + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/RecurringService-v49.yaml b/yaml/RecurringService-v49.yaml index ddef73d..e5b0d7c 100644 --- a/yaml/RecurringService-v49.yaml +++ b/yaml/RecurringService-v49.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/servlet/Recurring/v49' info: @@ -41,6 +41,7 @@ paths: Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/). + operationId: post-disable x-groupName: General x-sortIndex: 2 requestBody: @@ -72,6 +73,7 @@ paths: Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/). + operationId: post-listRecurringDetails x-groupName: General x-sortIndex: 1 requestBody: @@ -103,6 +105,7 @@ paths: When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory. + operationId: post-scheduleAccountUpdater x-groupName: General x-sortIndex: 3 requestBody: @@ -361,6 +364,8 @@ components: RecurringDetail: properties: additionalData: + additionalProperties: + type: string description: |- This field contains additional data, which may be returned in a particular response. @@ -458,6 +463,8 @@ components: ScheduleAccountUpdaterRequest: properties: additionalData: + additionalProperties: + type: string description: 'This field contains additional data, which may be required for a particular request.' type: object card: @@ -498,3 +505,11 @@ components: required: - pspReference - result + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/TestCardService-v1.yaml b/yaml/TestCardService-v1.yaml index 093e90d..acb26e4 100644 --- a/yaml/TestCardService-v1.yaml +++ b/yaml/TestCardService-v1.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://pal-test.adyen.com/pal/services/TestCard/v1' info: @@ -17,6 +17,7 @@ paths: post: summary: Creates one or more test card ranges. description: Creates one or more test card ranges. + operationId: post-createTestCardRanges x-groupName: General x-sortIndex: 0 requestBody: @@ -215,3 +216,11 @@ components: - cardNumberRangeStart - cardNumberRangeEnd - creationResultCode + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http