From e9df0055d111b5072ab4ed72e76cf6bfb3e0fc4e Mon Sep 17 00:00:00 2001 From: aleksei Date: Thu, 5 Mar 2020 14:17:09 +0100 Subject: [PATCH] Updated Payout API definitions --- json/PayoutService-v30.json | 751 +++++++++++++++++++++++++++- json/PayoutService-v40.json | 760 +++++++++++++++++++++++++++- json/PayoutService-v46.json | 760 +++++++++++++++++++++++++++- json/PayoutService-v49.json | 768 +++++++++++++++++++++++++++- json/PayoutService-v50.json | 770 +++++++++++++++++++++++++++- json/PayoutService-v51.json | 770 +++++++++++++++++++++++++++- yaml/PayoutService-v30.yaml | 946 ++++++++++++++++++++++++++++++++++- yaml/PayoutService-v40.yaml | 955 ++++++++++++++++++++++++++++++++++- yaml/PayoutService-v46.yaml | 955 ++++++++++++++++++++++++++++++++++- yaml/PayoutService-v49.yaml | 963 ++++++++++++++++++++++++++++++++++- yaml/PayoutService-v50.yaml | 965 +++++++++++++++++++++++++++++++++++- yaml/PayoutService-v51.yaml | 965 +++++++++++++++++++++++++++++++++++- 12 files changed, 10170 insertions(+), 158 deletions(-) diff --git a/json/PayoutService-v30.json b/json/PayoutService-v30.json index 76a1910..ff16380 100644 --- a/json/PayoutService-v30.json +++ b/json/PayoutService-v30.json @@ -289,6 +289,726 @@ }, "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -308,7 +1028,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -680,11 +1400,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "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" }, "bankAccount" : { @@ -748,7 +1483,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -873,7 +1608,7 @@ "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**.", + "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" : { @@ -913,7 +1648,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1330,4 +2065,4 @@ } } } -} \ No newline at end of file +} diff --git a/json/PayoutService-v40.json b/json/PayoutService-v40.json index ae7862e..1b950e3 100644 --- a/json/PayoutService-v40.json +++ b/json/PayoutService-v40.json @@ -407,6 +407,726 @@ } } }, + "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -426,7 +1146,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -996,11 +1716,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { @@ -1068,7 +1803,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -1212,7 +1947,7 @@ "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**.", + "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" : { @@ -1252,7 +1987,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1359,8 +2094,9 @@ "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.", + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", "enum" : [ + "BalanceAccount", "Commission", "Default", "MarketPlace", @@ -1723,7 +2459,7 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1782,11 +2518,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -1850,4 +2586,4 @@ } } } -} \ No newline at end of file +} diff --git a/json/PayoutService-v46.json b/json/PayoutService-v46.json index 03f5174..fc99899 100644 --- a/json/PayoutService-v46.json +++ b/json/PayoutService-v46.json @@ -407,6 +407,726 @@ } } }, + "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -426,7 +1146,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -996,11 +1716,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { @@ -1068,7 +1803,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -1212,7 +1947,7 @@ "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**.", + "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" : { @@ -1252,7 +1987,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1359,8 +2094,9 @@ "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.", + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", "enum" : [ + "BalanceAccount", "Commission", "Default", "MarketPlace", @@ -1723,7 +2459,7 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1782,11 +2518,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -1854,4 +2590,4 @@ } } } -} \ No newline at end of file +} diff --git a/json/PayoutService-v49.json b/json/PayoutService-v49.json index 8b5a571..0b9c3a9 100644 --- a/json/PayoutService-v49.json +++ b/json/PayoutService-v49.json @@ -407,6 +407,726 @@ } } }, + "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -426,7 +1146,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -996,11 +1716,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { @@ -1068,7 +1803,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -1212,7 +1947,7 @@ "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**.", + "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" : { @@ -1252,7 +1987,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1359,8 +2094,9 @@ "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.", + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", "enum" : [ + "BalanceAccount", "Commission", "Default", "MarketPlace", @@ -1723,15 +2459,15 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.", + "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" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1753,11 +2489,11 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -1798,11 +2534,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -1874,4 +2610,4 @@ } } } -} \ No newline at end of file +} diff --git a/json/PayoutService-v50.json b/json/PayoutService-v50.json index b2645ed..f58d1ae 100644 --- a/json/PayoutService-v50.json +++ b/json/PayoutService-v50.json @@ -416,6 +416,726 @@ } } }, + "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -435,7 +1155,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -1005,11 +1725,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { @@ -1077,7 +1812,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -1202,7 +1937,7 @@ "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1225,7 +1960,7 @@ "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**.", + "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" : { @@ -1265,7 +2000,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1372,8 +2107,9 @@ "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.", + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", "enum" : [ + "BalanceAccount", "Commission", "Default", "MarketPlace", @@ -1736,15 +2472,15 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.", + "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" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1766,11 +2502,11 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -1811,11 +2547,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -1898,4 +2634,4 @@ } } } -} \ No newline at end of file +} diff --git a/json/PayoutService-v51.json b/json/PayoutService-v51.json index d60518d..2f20d75 100644 --- a/json/PayoutService-v51.json +++ b/json/PayoutService-v51.json @@ -416,6 +416,726 @@ } } }, + "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.", + "type" : "string" + }, + "executeThreeD" : { + "description" : "This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values:\n* **true** – Perform 3D Secure authentication.\n* **false** – Don't perform 3D Secure authentication.\n> Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure.", + "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-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** ", + "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", + "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", + "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.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", + "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_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.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" + }, + "airline.passenger.last_name" : { + "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", + "type" : "string" + } + } + }, + "AdditionalDataCarRental" : { + "properties": { + "carRental.rentalAgreementNumber": { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "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.returnStateProvince": { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.returnCountry": { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnLocationId": { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnDate": { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "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.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.locationCity": { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "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.", + "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.", + "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.", + "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.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode": { + "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate": { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { + "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description": { + "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode": { + "description" : "Product code.\nEncoding: ASCII.\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.", + "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].discountAmount": { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { + "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", + "type" : "number" + } + } + }, + "AdditionalDataLodging" : { + "properties": { + "lodging.customerServiceTollFreeNumber": { + "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "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.folioNumber": { + "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type": "string" + }, + "lodging.propertyPhoneNumber": { + "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type": "string" + }, + "lodging.room1.rate": { + "description": "The rate of the room.\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.room1.numberOfNights": { + "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* 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'.\n* Format: Alphabetic\n* 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.\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" + }, + "lodging.folioCashAdvances": { + "description": "The folio cash advances.\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.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.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.totalRoomTax": { + "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "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": { + "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": { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedata.line[itemNr].description": { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedata.line[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" + }, + "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": { + "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" + }, + "openinvoicedata.line[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" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "integer" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "integer" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment. Double", + "type" : "integer" + }, + "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.", + "type" : "string" + }, + "ratepaydata.dueDate" : { + "description" : "Date by which the customer must settle the payment.", + "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" + }, + "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" + }, + "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" + } + } + }, + "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.", + "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": { + "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" + } + } + }, + "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": { + "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": { + "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": { + "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", + "type" : "string" + }, + "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", + "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": { + "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", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties": { + "androidpay.token": { + "description" : "The Android Pay token retrieved from the SDK.", + "type" : "string" + }, + "masterpass.transactionId": { + "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", + "type" : "string" + }, + "payment.token": { + "description" : "The Apple Pay token retrieved from the SDK.", + "type" : "string" + }, + "paywithgoogle.token": { + "description" : "The Google Pay token retrieved from the SDK.", + "type" : "string" + }, + "samsungpay.token": { + "description" : "The Samsung Pay token retrieved from the SDK.", + "type" : "string" + }, + "visacheckout.callId": { + "description" : "The Visa Checkout Call ID retrieved from the SDK.", + "type" : "string" + } + } + }, "Address" : { "properties" : { "city" : { @@ -435,7 +1155,7 @@ "type" : "string" }, "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada.\n> Required for the US and Canada.", + "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" : { @@ -1005,11 +1725,26 @@ "$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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).", - "type" : "object" + "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" } + ] }, "amount" : { - "description" : "The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", "$ref" : "#/components/schemas/Amount" }, "applicationInfo" : { @@ -1082,7 +1817,7 @@ "$ref" : "#/components/schemas/FundSource" }, "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).", + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", "$ref" : "#/components/schemas/Installments" }, "mcc" : { @@ -1207,7 +1942,7 @@ "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1230,7 +1965,7 @@ "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**.", + "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" : { @@ -1270,7 +2005,7 @@ "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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).\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. 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.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -1377,8 +2112,9 @@ "type" : "string" }, "type" : { - "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.", + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", "enum" : [ + "BalanceAccount", "Commission", "Default", "MarketPlace", @@ -1741,15 +2477,15 @@ "ThreeDS2RequestData" : { "properties" : { "acquirerBIN" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", "type" : "string" }, "acquirerMerchantID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.", + "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" : { - "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.", + "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" : { @@ -1771,11 +2507,11 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "mcc" : { - "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "description" : "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", "type" : "string" }, "merchantName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", "type" : "string" }, "messageVersion" : { @@ -1816,11 +2552,11 @@ "type" : "string" }, "threeDSRequestorID" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorName" : { - "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", "type" : "string" }, "threeDSRequestorURL" : { @@ -1903,4 +2639,4 @@ } } } -} \ No newline at end of file +} diff --git a/yaml/PayoutService-v30.yaml b/yaml/PayoutService-v30.yaml index 0cabcf8..b874854 100644 --- a/yaml/PayoutService-v30.yaml +++ b/yaml/PayoutService-v30.yaml @@ -200,6 +200,924 @@ paths: description: Internal Server Error - the server could not process the request. 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -218,7 +1136,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -542,10 +1460,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + 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' bankAccount: description: |- @@ -610,7 +1542,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -737,7 +1669,7 @@ components: 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**.' + 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: |- @@ -794,7 +1726,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. diff --git a/yaml/PayoutService-v40.yaml b/yaml/PayoutService-v40.yaml index 16e3f72..df552cf 100644 --- a/yaml/PayoutService-v40.yaml +++ b/yaml/PayoutService-v40.yaml @@ -326,6 +326,924 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -344,7 +1262,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -845,10 +1763,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' applicationInfo: description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' @@ -916,7 +1848,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -1059,7 +1991,7 @@ components: 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**.' + 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: |- @@ -1116,7 +2048,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. @@ -1214,8 +2146,9 @@ components: description: |- The type of this split. - >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`. + >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. enum: + - BalanceAccount - Commission - Default - MarketPlace @@ -1569,7 +2502,7 @@ components: ThreeDS2RequestData: properties: authenticationOnly: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: | @@ -1638,10 +2571,10 @@ components: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. diff --git a/yaml/PayoutService-v46.yaml b/yaml/PayoutService-v46.yaml index 734a43a..19f15ef 100644 --- a/yaml/PayoutService-v46.yaml +++ b/yaml/PayoutService-v46.yaml @@ -326,6 +326,924 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -344,7 +1262,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -845,10 +1763,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' applicationInfo: description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' @@ -916,7 +1848,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -1059,7 +1991,7 @@ components: 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**.' + 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: |- @@ -1116,7 +2048,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. @@ -1214,8 +2146,9 @@ components: description: |- The type of this split. - >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`. + >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. enum: + - BalanceAccount - Commission - Default - MarketPlace @@ -1569,7 +2502,7 @@ components: ThreeDS2RequestData: properties: authenticationOnly: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: | @@ -1638,10 +2571,10 @@ components: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. diff --git a/yaml/PayoutService-v49.yaml b/yaml/PayoutService-v49.yaml index 1c01975..ac626ce 100644 --- a/yaml/PayoutService-v49.yaml +++ b/yaml/PayoutService-v49.yaml @@ -326,6 +326,924 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -344,7 +1262,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -845,10 +1763,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' applicationInfo: description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' @@ -916,7 +1848,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -1059,7 +1991,7 @@ components: 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**.' + 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: |- @@ -1116,7 +2048,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. @@ -1214,8 +2146,9 @@ components: description: |- The type of this split. - >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`. + >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. enum: + - BalanceAccount - Commission - Default - MarketPlace @@ -1569,13 +2502,13 @@ components: ThreeDS2RequestData: properties: acquirerBIN: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string acquirerMerchantID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.' + 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: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: | @@ -1604,11 +2537,11 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' mcc: - description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' + description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' type: string merchantName: description: |- - Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. + Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. > 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: @@ -1652,10 +2585,10 @@ components: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. diff --git a/yaml/PayoutService-v50.yaml b/yaml/PayoutService-v50.yaml index c566946..d7fda0a 100644 --- a/yaml/PayoutService-v50.yaml +++ b/yaml/PayoutService-v50.yaml @@ -338,6 +338,924 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -356,7 +1274,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -857,10 +1775,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' applicationInfo: description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' @@ -928,7 +1860,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -1057,7 +1989,7 @@ components: description: Request fields for 3D Secure 2. $ref: '#/components/schemas/ThreeDS2RequestData' threeDSAuthenticationOnly: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' @@ -1074,7 +2006,7 @@ components: 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**.' + 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: |- @@ -1131,7 +2063,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. @@ -1229,8 +2161,9 @@ components: description: |- The type of this split. - >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`. + >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. enum: + - BalanceAccount - Commission - Default - MarketPlace @@ -1584,13 +2517,13 @@ components: ThreeDS2RequestData: properties: acquirerBIN: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string acquirerMerchantID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.' + 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: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: | @@ -1619,11 +2552,11 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' mcc: - description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' + description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' type: string merchantName: description: |- - Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. + Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. > 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: @@ -1667,10 +2600,10 @@ components: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. diff --git a/yaml/PayoutService-v51.yaml b/yaml/PayoutService-v51.yaml index aaa7f16..90e744a 100644 --- a/yaml/PayoutService-v51.yaml +++ b/yaml/PayoutService-v51.yaml @@ -338,6 +338,924 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + 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). + + Allowed values: + * **PreAuth** – flags the payment request to be handled as a pre-authorisation. + * **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. + + If 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. + + To 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. + + Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. + + 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. + 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. + + 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 + 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. + + 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: + 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-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** + type: string + AdditionalDataAirline: + properties: + 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.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.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. + 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: + description: |- + Total tax amount, in minor units. + + 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. + + 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 + enhancedSchemeData.destinationPostalCode: + description: |- + The postal code of a destination address. + + Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. + type: string + enhancedSchemeData.destinationStateProvinceCode: + description: |- + Destination state or province code. + + Encoding: ASCII.Max length: 3 characters. + type: string + enhancedSchemeData.shipFromPostalCode: + description: |- + The postal code of a "ship-from" address. + + Encoding: ASCII. + Max length: 10 characters. + type: string + enhancedSchemeData.destinationCountryCode: + description: |- + Destination country code. + + Encoding: ASCII. + Max length: 3 characters. + type: string + enhancedSchemeData.orderDate: + description: |- + Order date. + * Format: `ddMMyy` + + Encoding: ASCII. + Max length: 6 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].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. + + 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 + 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. + * Date format: `yyyyMMdd` + type: string + lodging.checkOutDate: + description: |- + The departure date. + * Date format: `yyyyMMdd` + type: string + lodging.folioNumber: + 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. + * 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.foodBeverageCharges: + description: |- + Any charges for food and beverages associated with the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + + Value should be Y or N. + * Format: Numeric + * maxLength: 1 + type: string + lodging.prepaidExpenses: + description: |- + Prepaid expenses for the booking. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + lodging.totalRoomTax: + description: |- + Total room tax amount. + * Format: Numeric + * maxLength: 12 + 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. + + The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. + + Since the field is optional, if it's not included it does not impact computing the merchant signature. + + Applies only to Klarna. + + You can contact Klarna for the format and structure of the string. + type: string + 'openinvoicedata.line[itemNr].currencyCode': + description: The three-character ISO currency code. + type: string + 'openinvoicedata.line[itemNr].description': + description: A text description of the product the invoice line refers to. + type: string + 'openinvoicedata.line[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': + 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. + + 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': + description: The number of units purchased of a specific product. + type: integer + 'openinvoicedata.line[itemNr].vatCategory': + description: |- + Required for AfterPay. The country-specific VAT category a product falls under. + + Allowed values: + * High + * Low + * None. + type: string + AdditionalDataRatepay: + properties: + ratepay.installmentAmount: + description: Amount the customer has to pay each month. + type: integer + ratepay.lastInstallmentAmount: + description: Amount of the last installment. + type: integer + ratepay.interestRate: + description: Interest rate of this installment. Double + type: integer + 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. + type: string + ratepaydata.dueDate: + description: Date by which the customer must settle the payment. + 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 + 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 + 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 + 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. + 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': + 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. + + e.g. for a promotion discount of 30%, the value of the field should be 30. + 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: + * **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: + description: |- + Customer code, if supplied by a customer. + * 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. + * maxLength: 40 + type: string + enhancedSchemeData.jobDescription: + description: |- + Description of the job or task of the individual working in a temporary capacity. + * maxLength: 40 + type: string + enhancedSchemeData.tempStartDate: + description: |- + Date for the beginning of the pay period. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.tempWeekEnding: + description: |- + Date of the end of the billing cycle. + * Format: ddMMyy + * maxLength: 6 + type: string + enhancedSchemeData.requestName: + 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 + type: string + AdditionalDataWallets: + properties: + androidpay.token: + description: The Android Pay token retrieved from the SDK. + type: string + masterpass.transactionId: + description: The Mastercard Masterpass Transaction ID retrieved from the SDK. + type: string + payment.token: + description: The Apple Pay token retrieved from the SDK. + type: string + paywithgoogle.token: + description: The Google Pay token retrieved from the SDK. + type: string + samsungpay.token: + description: The Samsung Pay token retrieved from the SDK. + type: string + visacheckout.callId: + description: The Visa Checkout Call ID retrieved from the SDK. + type: string Address: properties: city: @@ -356,7 +1274,7 @@ components: type: string stateOrProvince: description: |- - State or province codes as defined in ISO 3166-2. For example, **SF** in US or **ON** for Canada. + 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: @@ -857,10 +1775,24 @@ components: 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. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata). - type: object + 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' + - $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' amount: - description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' applicationInfo: description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' @@ -932,7 +1864,7 @@ components: description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).' + description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' $ref: '#/components/schemas/Installments' mcc: description: 'The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' @@ -1061,7 +1993,7 @@ components: description: Request fields for 3D Secure 2. $ref: '#/components/schemas/ThreeDS2RequestData' threeDSAuthenticationOnly: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' @@ -1078,7 +2010,7 @@ components: 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**.' + 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: |- @@ -1135,7 +2067,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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status). + * **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). * **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. @@ -1233,8 +2165,9 @@ components: description: |- The type of this split. - >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`. + >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. enum: + - BalanceAccount - Commission - Default - MarketPlace @@ -1588,13 +2521,13 @@ components: ThreeDS2RequestData: properties: acquirerBIN: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string acquirerMerchantID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/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.' + 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: - description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.' + 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: description: | @@ -1623,11 +2556,11 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' mcc: - description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' + description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.' type: string merchantName: description: |- - Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. + Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. > 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: @@ -1671,10 +2604,10 @@ components: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: - description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' + description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.